gnu: grub-efi-bootloader: Specialize grub-install invocation.
* gnu/bootloader/grub.scm (install-grub-efi): Fix grub-install invocation for EFI systems. * gnu/system/examples/bare-bones.tmpl: Use the newer "bootloader-configuration" syntax. * gnu/system/examples/desktop.tmpl: Use bootloader-configuration sytax. Also, use the same label for the LUKS-mapped device and the root partition. Remove unneeded "title" field for the file-system based on LUKS; as noted in the manual, the "title" field is ignored for mapped devices. * gnu/system/examples/lightweight-desktop.tmpl: Use bootloader-configuration, and use grub-efi-bootloader.
This commit is contained in:
parent
97291c0c7c
commit
2941b347b6
|
@ -389,7 +389,20 @@ submenu \"GNU system, old configurations...\" {~%")
|
||||||
(unless (zero? (system* grub "--no-floppy"
|
(unless (zero? (system* grub "--no-floppy"
|
||||||
"--boot-directory" install-dir
|
"--boot-directory" install-dir
|
||||||
device))
|
device))
|
||||||
(error "failed to install GRUB")))))
|
(error "failed to install GRUB (BIOS)")))))
|
||||||
|
|
||||||
|
(define install-grub-efi
|
||||||
|
#~(lambda (bootloader efi-dir mount-point)
|
||||||
|
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
|
||||||
|
;; system whose root is mounted at MOUNT-POINT.
|
||||||
|
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
|
||||||
|
(install-dir (string-append mount-point "/boot")))
|
||||||
|
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||||
|
;; root partition.
|
||||||
|
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||||
|
(unless (zero? (system* grub-install "--boot-directory" install-dir
|
||||||
|
"--efi-directory" efi-dir))
|
||||||
|
(error "failed to install GRUB (EFI)")))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -408,6 +421,7 @@ submenu \"GNU system, old configurations...\" {~%")
|
||||||
(define* grub-efi-bootloader
|
(define* grub-efi-bootloader
|
||||||
(bootloader
|
(bootloader
|
||||||
(inherit grub-bootloader)
|
(inherit grub-bootloader)
|
||||||
|
(installer install-grub-efi)
|
||||||
(name 'grub-efi)
|
(name 'grub-efi)
|
||||||
(package grub-efi)))
|
(package grub-efi)))
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,9 @@
|
||||||
|
|
||||||
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
|
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
|
||||||
;; the label of the target root file system.
|
;; the label of the target root file system.
|
||||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
(bootloader (bootloader-configuration
|
||||||
|
(bootloader grub-bootloader)
|
||||||
|
(device "/dev/sdX")))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
(title 'label)
|
(title 'label)
|
||||||
|
|
|
@ -13,19 +13,20 @@
|
||||||
|
|
||||||
;; Assuming /dev/sdX is the target hard disk, and "my-root"
|
;; Assuming /dev/sdX is the target hard disk, and "my-root"
|
||||||
;; is the label of the target root file system.
|
;; is the label of the target root file system.
|
||||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
(bootloader (bootloader-configuration
|
||||||
|
(bootloader grub-bootloader)
|
||||||
|
(device "/dev/sdX")))
|
||||||
|
|
||||||
;; Specify a mapped device for the encrypted root partition.
|
;; Specify a mapped device for the encrypted root partition.
|
||||||
;; The UUID is that returned by 'cryptsetup luksUUID'.
|
;; The UUID is that returned by 'cryptsetup luksUUID'.
|
||||||
(mapped-devices
|
(mapped-devices
|
||||||
(list (mapped-device
|
(list (mapped-device
|
||||||
(source (uuid "12345678-1234-1234-1234-123456789abc"))
|
(source (uuid "12345678-1234-1234-1234-123456789abc"))
|
||||||
(target "the-root-device")
|
(target "my-root")
|
||||||
(type luks-device-mapping))))
|
(type luks-device-mapping))))
|
||||||
|
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
(title 'label)
|
|
||||||
(mount-point "/")
|
(mount-point "/")
|
||||||
(type "ext4")
|
(type "ext4")
|
||||||
(dependencies mapped-devices))
|
(dependencies mapped-devices))
|
||||||
|
|
|
@ -12,9 +12,10 @@
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
|
|
||||||
;; Use the UEFI variant of GRUB with the EFI System
|
;; Use the UEFI variant of GRUB with the EFI System
|
||||||
;; Partition on /dev/sda1.
|
;; Partition mounted on /boot/efi.
|
||||||
(bootloader (grub-configuration (grub grub-efi)
|
(bootloader (bootloader-configuration
|
||||||
(device "/dev/sda1")))
|
(bootloader grub-efi-bootloader)
|
||||||
|
(device "/boot/efi")))
|
||||||
|
|
||||||
;; Assume the target root file system is labelled "my-root".
|
;; Assume the target root file system is labelled "my-root".
|
||||||
(file-systems (cons* (file-system
|
(file-systems (cons* (file-system
|
||||||
|
|
Loading…
Reference in New Issue