diff options
author | Janneke Nieuwenhuizen <janneke@gnu.org> | 2023-05-23 16:03:53 +0200 |
---|---|---|
committer | Josselin Poiret <dev@jpoiret.xyz> | 2023-07-13 18:59:13 +0200 |
commit | c22c29b0c4821ebe2c66a6c76562a41d33ff8392 (patch) | |
tree | 341d0d78a8ce6fd6edc900ac5a408427c366f2c6 /gnu/bootloader | |
parent | 7f86dad6115f9cc981a789c2c5ba0015206c5ee3 (diff) | |
download | guix-c22c29b0c4821ebe2c66a6c76562a41d33ff8392.tar.gz guix-c22c29b0c4821ebe2c66a6c76562a41d33ff8392.zip |
bootloader: grub: Use rumpdisk-style root when booting with "noide".
* gnu/bootloader/grub.scm (make-grub-configuration): When "noide" is in
arguments, use device name "wd0" rather than "hd0".
Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
Diffstat (limited to 'gnu/bootloader')
-rw-r--r-- | gnu/bootloader/grub.scm | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index ecd44e7f3c..5f3fcd7074 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2019, 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de> @@ -404,17 +404,23 @@ when booting a root file system on a Btrfs subvolume." #$linux (string-join (list #$@arguments)) #$initrd))) (multiboot-kernel - (let ((kernel (menu-entry-multiboot-kernel entry)) - (arguments (menu-entry-multiboot-arguments entry)) - (modules (menu-entry-multiboot-modules entry)) - (root-index 1)) ; XXX EFI will need root-index 2 + (let* ((kernel (menu-entry-multiboot-kernel entry)) + (arguments (menu-entry-multiboot-arguments entry)) + ;; Choose between device names as understood by Mach's built-in + ;; IDE driver ("hdX") and those understood by rumpdisk ("wdX" + ;; in the "noide" case). + (disk (if (member "noide" arguments) "w" "h")) + (modules (menu-entry-multiboot-modules entry)) + (root-index 1)) ; XXX EFI will need root-index 2 #~(format port " menuentry ~s { - multiboot ~a root=device:hd0s~a~a~a + multiboot ~a root=part:~a:device:~ad0~a~a }~%" #$label #$kernel - #$root-index (string-join (list #$@arguments) " " 'prefix) + #$root-index + #$disk + (string-join (list #$@arguments) " " 'prefix) (string-join (map string-join '#$modules) "\n module " 'prefix)))) (chain-loader |