~ruther/guix-local

00e39b2ea466f5627b6eb85e70c98d44b73a0516 — Mathieu Othacehe 8 years ago e45b573
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.
1 files changed, 30 insertions(+), 20 deletions(-)

M gnu/system/vm.scm
M gnu/system/vm.scm => gnu/system/vm.scm +30 -20
@@ 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