diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2017-11-29 15:12:01 +0100 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2017-12-01 13:55:49 +0100 |
commit | 00e39b2ea466f5627b6eb85e70c98d44b73a0516 (patch) | |
tree | ed807d6e26733584a7a3b2cc7a53cdf2733d441b | |
parent | e45b573c2d4f251d57caccb01ff19078b4f2e8e7 (diff) |
system: vm: Do not add EFI partition on ARM system.
* gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are targetting
ARM.
UEFI support on u-boot is still experimental, so do not add EFI partition on
ARM for now.
-rw-r--r-- | gnu/system/vm.scm | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index a5fe48e8f1..8cd4c064f9 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -29,6 +29,7 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix utils) #:use-module ((gnu build vm) #:select (qemu-command)) @@ -312,26 +313,35 @@ the image." graphs))) (- disk-image-size (* 50 (expt 2 20))))) - (partitions (list (partition - (size root-size) - (label #$file-system-label) - (uuid #$(and=> file-system-uuid - uuid-bytevector)) - (file-system #$file-system-type) - (flags '(boot)) - (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)))))) + (partitions + (append + (list (partition + (size root-size) + (label #$file-system-label) + (uuid #$(and=> file-system-uuid + uuid-bytevector)) + (file-system #$file-system-type) + (flags '(boot)) + (initializer initialize))) + ;; Append a small EFI System Partition for use with UEFI + ;; bootloaders if we are not targetting ARM because UEFI + ;; support in U-Boot is experimental. + ;; + ;; FIXME: ‘target-arm32?’ may be not operate on the right + ;; system/target values. Rewrite using ‘let-system’ when + ;; available. + (if #$(target-arm32?) + '() + (list (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 #:grub-efi #$grub-efi |