summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-21 23:39:43 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-21 23:39:43 -0400
commita9429c8f2207841c649438187d6e19046d323a16 (patch)
treea06e4b8a87b6a42742cf6750276746a10b6c2139 /gnu/system
parentf0136b36ae8c1e9c174043bd50e0e24413c0f345 (diff)
parent49b350fafc2c3ea1db66461b73d4e304cd13ec92 (diff)
Merge branch 'staging' into core-updates.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/file-systems.scm7
-rw-r--r--gnu/system/hurd.scm9
-rw-r--r--gnu/system/images/novena.scm4
-rw-r--r--gnu/system/linux-container.scm15
-rw-r--r--gnu/system/linux-initrd.scm7
5 files changed, 28 insertions, 14 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index e1d1fb72cc..437f8da898 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -60,6 +60,7 @@
file-system-location
file-system-type-predicate
+ file-system-mount-point-predicate
btrfs-subvolume?
btrfs-store-subvolume-file-name
@@ -671,6 +672,12 @@ system has the given TYPE."
(lambda (fs)
(string=? (file-system-type fs) type)))
+(define (file-system-mount-point-predicate mount-point)
+ "Return a predicate that, when passed a file system, returns #t if that file
+system has the given MOUNT-POINT."
+ (lambda (fs)
+ (string=? (file-system-mount-point fs) mount-point)))
+
;;;
;;; Btrfs specific helpers.
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 2acc7b7e11..8e95d0a16c 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -65,10 +65,13 @@
gnumach)))
(define %base-packages/hurd
- (list hurd bash coreutils file findutils grep sed
+ ;; Note: the Shepherd comes before the Hurd, not just because its duty is to
+ ;; shepherd the herd, but also because we want its 'halt' and 'reboot'
+ ;; commands to take precedence.
+ (list shepherd hurd bash coreutils file findutils grep sed
diffutils patch gawk tar gzip bzip2 xz lzip
guile-3.0-latest guile-colorized guile-readline
- net-base inetutils less shadow shepherd sudo which
+ net-base inetutils less shadow sudo which
info-reader))
(define %base-services/hurd
diff --git a/gnu/system/images/novena.scm b/gnu/system/images/novena.scm
index 3ce62fbf3b..5b625e56c5 100644
--- a/gnu/system/images/novena.scm
+++ b/gnu/system/images/novena.scm
@@ -41,8 +41,8 @@
(bootloader (bootloader-configuration
(bootloader u-boot-novena-bootloader)
(targets '("/dev/vda"))))
- (initrd-modules '("sdhci-esdhc-imx" "ahci_imx" "i2c-dev"))
- ;(kernel linux-libre-arm-generic)
+ (initrd-modules '())
+ (kernel linux-libre-arm-generic)
(kernel-arguments '("console=ttymxc1,115200"))
(file-systems (cons (file-system
(device (file-system-label "my-root"))
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index e6fd0f1315..eeb0f68c02 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016-2017, 2019-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Google LLC
@@ -248,11 +248,13 @@ that will be shared with the host system."
(define* (eval/container exp
#:key
(mappings '())
- (namespaces %namespaces))
+ (namespaces %namespaces)
+ (guest-uid 0) (guest-gid 0))
"Evaluate EXP, a gexp, in a new process executing in separate namespaces as
listed in NAMESPACES. Add MAPPINGS, a list of <file-system-mapping>, to the
-set of directories visible in the process's mount namespace. Return the
-process' exit status as a monadic value.
+set of directories visible in the process's mount namespace. Inside the
+namespaces, run code as GUEST-UID and GUEST-GID. Return the process' exit
+status as a monadic value.
This is useful to implement processes that, unlike derivations, are not
entirely pure and need to access the outside world or to perform side
@@ -291,4 +293,7 @@ effects."
lowered))
(list "-c"
(object->string
- (lowered-gexp-sexp lowered))))))))))))
+ (lowered-gexp-sexp lowered))))))
+ #:namespaces namespaces
+ #:guest-uid guest-uid
+ #:guest-gid guest-gid))))))
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index c78dd09205..4c4c78e444 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -181,7 +181,7 @@ MODULES and taken from LINUX."
"Return as a file-like object a raw initrd, with kernel
modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be
mounted by the initrd, possibly in addition to the root file system specified
-on the kernel command line via '--root'. LINUX-MODULES is a list of kernel
+on the kernel command line via 'root'. LINUX-MODULES is a list of kernel
modules to be loaded at boot time. MAPPED-DEVICES is a list of device
mappings to realize before FILE-SYSTEMS are mounted.
HELPER-PACKAGES is a list of packages to be copied in the initrd. It may include
@@ -352,8 +352,7 @@ FILE-SYSTEMS."
"dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions
"nls_iso8859-1" ;for `mkfs.fat`, et.al
,@(if (string-match "^(x86_64|i[3-6]86)-" system)
- '("framebuffer_coreboot" ;for display during early (Core)boot
- "pata_acpi" "pata_atiixp" ;for ATA controllers
+ '("pata_acpi" "pata_atiixp" ;for ATA controllers
"isci") ;for SAS controllers like Intel C602
'())
@@ -376,7 +375,7 @@ FILE-SYSTEMS."
"Return as a file-like object a generic initrd, with kernel
modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be
mounted by the initrd, possibly in addition to the root file system specified
-on the kernel command line via '--root'. MAPPED-DEVICES is a list of device
+on the kernel command line via 'root'. MAPPED-DEVICES is a list of device
mappings to realize before FILE-SYSTEMS are mounted.
When true, KEYBOARD-LAYOUT is a <keyboard-layout> record denoting the desired