diff options
Diffstat (limited to 'gnu/system.scm')
-rw-r--r-- | gnu/system.scm | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index 2beca4b6d0..a4e70f164a 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -208,12 +208,21 @@ VERSION is the target version of the boot-parameters record." (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))) + (cond + ((string=? root "tmpfs") + ;; Required when using tmpfs as root file system. + ;; TODO: Include file system information in boot parameters, so that we + ;; can detect tmpfs by file system type instead of device name here. + '("rootfstype=tmpfs")) + ((string=? root "none") + ;; Ignore unhandled cases where the root is "none". This requires the + ;; user to set correct arguments. + '()) + (else + ;; 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"))))) |