summary refs log tree commit diff
path: root/gnu/build/linux-boot.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-02-17 23:28:07 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-01 10:30:17 -0500
commit0dc019e19a23fea614be5623360849ab9bc35e74 (patch)
treeb3aaaffb0fa629ee55f467360b4b32502315c9c1 /gnu/build/linux-boot.scm
parent91755fe6b2e167be19561c5e8c64b6f9a99b7bcf (diff)
downloadguix-0dc019e19a23fea614be5623360849ab9bc35e74.tar.gz
initrd: Use non-hyphenated kernel command-line parameter names.
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.

* gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root'
and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system',
respectively.  Adjust doc.
(find-long-option): Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly.
* gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and
update doc.  Use VERSION to conditionally return old style vs new style initrd
arguments.
(%boot-parameters-version): Increment to 1.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
* gnu/build/activation.scm (boot-time-system): Adjust accordingly.
* gnu/build/hurd-boot.scm (boot-hurd-system): Likewise.
* gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
Diffstat (limited to 'gnu/build/linux-boot.scm')
-rw-r--r--gnu/build/linux-boot.scm31
1 files changed, 16 insertions, 15 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 0ae316849e..cfa1ab2fcb 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016, 2017, 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -93,7 +94,7 @@
      get-string-all)))
 
 (define (find-long-option option arguments)
-  "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
+  "Find OPTION among ARGUMENTS, where OPTION is something like \"gnu.load\".
 Return the value associated with OPTION, or #f on failure."
   (let ((opt (string-append option "=")))
     (and=> (find (cut string-prefix? opt <>)
@@ -499,12 +500,12 @@ LINUX-MODULE-DIRECTORY, then installing KEYMAP-FILE with 'loadkeys' (if
 KEYMAP-FILE is true), then setting up QEMU guest networking if
 QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
 specified in MOUNTS, and finally booting into the new root if any.  The initrd
-supports kernel command-line options '--load', '--root', and '--repl'.  It
-also honors a subset of the documented Linux kernel command-line parameters
-such as 'fsck.mode', 'resume' and 'rootdelay'.
+supports kernel command-line parameters 'gnu.load' and 'gnu.repl'.  It also
+honors a subset of the Linux kernel command-line parameters such as
+'fsck.mode', 'resume', 'root' and 'rootdelay'.
 
-Mount the root file system, specified by the '--root' command-line argument,
-if any.
+Mount the root file system, specified by the 'root' command-line argument, if
+any.
 
 MOUNTS must be a list of <file-system> objects.
 
@@ -517,25 +518,25 @@ upon error."
     (string=? (file-system-mount-point fs) "/"))
 
   (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, an nfs-root, a UUID, or a
-    ;; label.  So check for all four.
+    ;; The "root=SPEC" kernel command-line option always provides a 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))))
 
   (display "Welcome, this is GNU's early boot Guile.\n")
-  (display "Use '--repl' for an initrd REPL.\n\n")
+  (display "Use 'gnu.repl' for an initrd REPL.\n\n")
 
   (call-with-error-handling
     (lambda ()
       (mount-essential-file-systems)
       (let* ((args    (linux-command-line))
-             (to-load (find-long-option "--load" args))
-             ;; If present, ‘--root’ on the kernel command line takes precedence
+             (to-load (find-long-option "gnu.load" args))
+             ;; If present, ‘root’ on the kernel command line takes precedence
              ;; over the ‘device’ field of the root <file-system> record.
-             (root-device (and=> (find-long-option "--root" args)
+             (root-device (and=> (find-long-option "root" args)
                                  device-string->file-system-device))
              (root-fs (or (find root-mount-point? mounts)
                           ;; Fall back to fictitious defaults.
@@ -564,7 +565,7 @@ upon error."
                   (_ 'preen))
                 (file-system-repair fs))))
 
-        (when (member "--repl" args)
+        (when (member "gnu.repl" args)
           (start-repl))
 
         (display "loading kernel modules...\n")
@@ -652,7 +653,7 @@ the root file system...\n" root-delay)
               (sleep 2)
               (reboot))
             (begin
-              (display "no boot file passed via '--load'\n")
+              (display "no boot file passed via 'gnu.load'\n")
               (display "entering a warm and cozy REPL\n")
               (start-repl)))))
     #:on-error on-error))