summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2024-02-04 03:19:56 +0100
committerLudovic Courtès <ludo@gnu.org>2024-02-19 18:42:56 +0100
commit3378c1a9c65a9eb8ef13d7d738473e435cbbe3b6 (patch)
tree3930292d41d4d291f8aa5181a63d1523758f12aa
parent27ee6f06d0ecab58ca3b739c911bacefda440177 (diff)
system: Omit “root=” kernel argument when root device is “none”.
* gnu/system.scm (bootable-kernel-arguments): Fallback to tmpfs if root is "none". Change-Id: I35a656e71169dc786e5256d98a3c04c65043086d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/system.scm22
1 files changed, 13 insertions, 9 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 3cd64a5c9f..aede35775e 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -197,15 +198,18 @@ VERSION is the target version of the boot-parameters record."
;; compatibility when producing bootloader configurations for older
;; generations.
(define version>0? (> version 0))
- (list (string-append (if version>0? "root=" "--root=")
- ;; Note: Always use the DCE format because that's what
- ;; (gnu build linux-boot) expects for the 'root'
- ;; kernel command-line option.
- (file-system-device->string root-device
- #:uuid-type 'dce))
- #~(string-append (if #$version>0? "gnu.system=" "--system=") #$system)
- #~(string-append (if #$version>0? "gnu.load=" "--load=")
- #$system "/boot")))
+ (let ((root (file-system-device->string root-device
+ #:uuid-type 'dce)))
+ (append
+ (if (string=? root "none")
+ '() ; Ignore the case where the root is "none" (typically tmpfs).
+ ;; Note: Always use the DCE format because that's what
+ ;; (gnu build linux-boot) expects for the 'root'
+ ;; kernel command-line option.
+ (list (string-append (if version>0? "root=" "--root=") root)))
+ (list #~(string-append (if #$version>0? "gnu.system=" "--system=") #$system)
+ #~(string-append (if #$version>0? "gnu.load=" "--load=")
+ #$system "/boot")))))
;; System-wide configuration.