summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-21 21:38:19 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-21 21:38:19 -0400
commit49b350fafc2c3ea1db66461b73d4e304cd13ec92 (patch)
tree9b9b1a4a383b5175241ae6b91b83de0590f13983 /gnu/system
parent03b5668a035ba96c9690476078c5ee1d5793f3e2 (diff)
parente584a093f943be216fdc93895281fde835836b8d (diff)
Merge branch 'master' into staging.
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.scm4
5 files changed, 27 insertions, 12 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index e1d1fb72cca..437f8da8983 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 2acc7b7e117..8e95d0a16ce 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 3ce62fbf3b0..5b625e56c57 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 e6fd0f1315f..eeb0f68c026 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 329cd38cd69..4c4c78e4440 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
@@ -375,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