Ludovic Courtès writes: >> +++ b/gnu/system/vm.scm >> @@ -228,11 +229,23 @@ the image." >> #:system-directory #$os-drv)) >> (partitions (list (partition >> (size #$(- disk-image-size >> - (* 10 (expt 2 20)))) >> + (* 50 (expt 2 20)))) >> (label #$file-system-label) >> (file-system #$file-system-type) >> (flags '(boot)) >> - (initializer initialize))))) >> + (initializer initialize)) >> + ;; Append a small EFI System Partition for >> + ;; use with UEFI bootloaders. >> + (partition >> + ;; The standalone grub image is about 10MiB, but >> + ;; leave some room for custom or multiple images. >> + (size (* 40 (expt 2 20))) >> + (label "GNU-ESP") ;cosmetic only >> + ;; Use "vfat" here since this property is used >> + ;; when mounting. The actual FAT-ness is based >> + ;; on filesystem size (16 in this case). >> + (file-system "vfat") >> + (flags '(esp)))))) >> (initialize-hard-disk "/dev/vda" >> #:partitions partitions >> #:bootloader-package > > I thought we’d pass something like > > (initialize-hard-disk … #:grub-efi #$grub-eif) > > to avoid the ambiguity? Thanks for the hint. With the attached patch, grub-efi is now passed through to "install-efi". I haven't tested it on "version-0.13.0" but assume it will work. Now, I would like to instead implement an #:efi-loader keyword, and pass it a derivation for the standalone EFI blob, but I'm not sure if I can do that before the weekend. What do you think, is this "good enough" for the time being? > Once we’re done with that, we’ll have to update one of the > ‘operating-system’ declaration examples to show UEFI configuration, and > to update the doc to explain the installation process for UEFI. I'll get on that.