summaryrefslogtreecommitdiff
path: root/gnu/build
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-09-23 14:53:44 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-09-23 14:53:44 +0200
commit1828958db52d0019a7f3d763b07e64f78afa2cbf (patch)
tree8bdff27c5b3dc088d923e91a14a38f6a6b9fa661 /gnu/build
parent7e463dd16b7e273011f0beafa57a89fa2d525f8b (diff)
parent23744435613aa040beacc61a0825cc72280da80a (diff)
Merge branch 'wip-lisp' into staging
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/file-systems.scm3
-rw-r--r--gnu/build/linux-boot.scm5
-rw-r--r--gnu/build/linux-container.scm4
3 files changed, 7 insertions, 5 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 4ba1503b9f6..734d6485756 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -675,7 +675,8 @@ were found."
(define (canonicalize-device-spec spec)
"Return the device name corresponding to SPEC, which can be a <uuid>, a
-<file-system-label>, or a string (typically a /dev file name)."
+<file-system-label>, or a string (typically a /dev file name or an nfs-root
+containing ':/')."
(define max-trials
;; Number of times we retry partition label resolution, 1 second per
;; trial. Note: somebody reported a delay of 16 seconds (!) before their
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 80fe0cfb9da..32e3536039d 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -469,9 +469,10 @@ upon error."
(define (device-string->file-system-device device-string)
;; The "--root=SPEC" kernel command-line option always provides a
- ;; string, but the string can represent a device, a UUID, or a
- ;; label. So check for all three.
+ ;; string, but the string can represent a device, an nfs-root, a UUID, or a
+ ;; label. So check for all four.
(cond ((string-prefix? "/" device-string) device-string)
+ ((string-contains device-string ":/") device-string) ; nfs-root
((uuid device-string) => identity)
(else (file-system-label device-string))))
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index 21292b8d2f1..2d4de788df2 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -243,8 +243,8 @@ that host UIDs (respectively GIDs) map to in the namespace."
(match (read child)
('ready
(purify-environment)
- (when (and (not (null? mounts))
- (memq 'mnt namespaces))
+ (when (and (memq 'mnt namespaces)
+ (not (string=? root "/")))
(catch #t
(lambda ()
(mount-file-systems root mounts