diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2019-08-20 18:00:40 +0200 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2019-11-22 16:33:43 +0100 |
commit | 1ee72bb55b69796abc69d56a51b8eb3f42438be6 (patch) | |
tree | 7852c88b4595ef6ee5682acba2e65dab3eb4d2f1 /gnu/system | |
parent | 2608417ab8889cf8c1a61032633c474228141e78 (diff) | |
download | guix-1ee72bb55b69796abc69d56a51b8eb3f42438be6.tar.gz |
system: vm: Add arm64 support.
* gnu/build/vm.scm (load-in-linux-vm): Add target-arm64? argument and use it to pass correct arguments to qemu. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass the new target-arm64? argument added above. Do not add ESP partition on all ARM targets. Do not pass grub-efi package to initialize-hard-disk on ARM targets.
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/vm.scm | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 3fa9fd4ba5..9d4ed10ce5 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -235,10 +235,12 @@ made available under the /xchg CIFS share." #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? - ;; FIXME: ‘target-arm32?’ may not operate on - ;; the right system/target values. Rewrite + ;; FIXME: ‘target-arm32?’ and + ;; ‘target-aarch64?’ may not operate on the + ;; right system/target values. Rewrite ;; using ‘let-system’ when available. #:target-arm32? #$(target-arm32?) + #:target-aarch64? #$(target-aarch64?) #:disk-image-format #$disk-image-format #:disk-image-size size #:references-graphs graphs)))))) @@ -452,10 +454,10 @@ system." ;; bootloaders if we are not targeting ARM because UEFI ;; support in U-Boot is experimental. ;; - ;; FIXME: ‘target-arm32?’ may be not operate on the right + ;; FIXME: ‘target-arm?’ may be not operate on the right ;; system/target values. Rewrite using ‘let-system’ when ;; available. - (if #$(target-arm32?) + (if #$(target-arm?) '() (list (partition ;; The standalone grub image is about 10MiB, but @@ -466,10 +468,11 @@ system." ;; when mounting. The actual FAT-ness is based ;; on file system size (16 in this case). (file-system "vfat") - (flags '(esp)))))))) + (flags '(esp))))))) + (grub-efi #$(and (not (target-arm?)) grub-efi))) (initialize-hard-disk "/dev/vda" #:partitions partitions - #:grub-efi #$grub-efi + #:grub-efi grub-efi #:bootloader-package #$(bootloader-package bootloader) #:bootcfg #$bootcfg-drv |