diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-04-28 16:17:59 +0200 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-05-05 16:08:33 +0200 |
commit | f8fd1157174fd523d36dcfa756c965a54c30d5ae (patch) | |
tree | b0522095d41e3a1441ede268de37ea7d55ad8944 /gnu/build/vm.scm | |
parent | 892bbea750e5733979ee0423cbdfcea222b07925 (diff) | |
download | patches-f8fd1157174fd523d36dcfa756c965a54c30d5ae.tar patches-f8fd1157174fd523d36dcfa756c965a54c30d5ae.tar.gz |
build: bootloader: Add install-efi procedure.
* gnu/build/bootloader.scm (install-efi): New procedure copied from (gnu build vm).
(install-efi-loader): New exported procedure, wrapping install-efi.
* gnu/build/vm.scm (initialize-hard-disk): Adapt to use install-efi-loader.
Diffstat (limited to 'gnu/build/vm.scm')
-rw-r--r-- | gnu/build/vm.scm | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 9caa110463..bc6071daa9 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -27,6 +27,7 @@ #:use-module (guix build store-copy) #:use-module (guix build syscalls) #:use-module (guix store database) + #:use-module (gnu build bootloader) #:use-module (gnu build linux-boot) #:use-module (gnu build install) #:use-module (gnu system uuid) @@ -610,30 +611,16 @@ passing it a directory name where it is mounted." (when esp ;; Mount the ESP somewhere and install GRUB UEFI image. - (let ((mount-point (string-append target "/boot/efi")) - (grub-config (string-append target "/tmp/grub-standalone.cfg"))) + (let ((mount-point (string-append target "/boot/efi"))) (display "mounting EFI system partition...\n") (mkdir-p mount-point) (mount (partition-device esp) mount-point (partition-file-system esp)) - ;; Create a tiny configuration file telling the embedded grub - ;; where to load the real thing. - ;; XXX This is quite fragile, and can prevent the image from booting - ;; when there's more than one volume with this label present. - ;; Reproducible almost-UUIDs could reduce the risk (not eliminate it). - (call-with-output-file grub-config - (lambda (port) - (format port - "insmod part_msdos~@ - search --set=root --label Guix_image~@ - configfile /boot/grub/grub.cfg~%"))) - (display "creating EFI firmware image...") - (install-efi grub-efi mount-point grub-config) + (install-efi-loader grub-efi mount-point) (display "done.\n") - (delete-file grub-config) (umount mount-point))) ;; Register BOOTCFG as a GC root. |