GNU bug report logs -
#29409
GuixSD ARM port.
Previous Next
Full log
Message #195 received at 29409 <at> debbugs.gnu.org (full text, mbox):
m.othacehe <at> gmail.com skribis:
> From: Mathieu Othacehe <m.othacehe <at> gmail.com>
>
> * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32.
> Use it to adapt command for qemu-system-arm. This implies to choose a
> machine ("virt"), use the correct console port "ttyAMA0" and disable KVM use
> that is buggy on some ARM boards (Odroid XU4 for example).
> * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
> to load-in-linux-vm "#:target-arm32?" argument.
> ---
> gnu/build/vm.scm | 19 ++++++++++++++++---
> gnu/system/vm.scm | 4 ++++
> 2 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
> index 0b1b9da..0fbba62 100644
> --- a/gnu/build/vm.scm
> +++ b/gnu/build/vm.scm
> @@ -77,6 +77,7 @@
> linux initrd
> make-disk-image?
> single-file-output?
> + target-arm32?
Do we really need this new parameter and could we use the
‘target-arm32?’ procedure that you added directly?
> + (if target-arm32?
> + (string-append "console=ttyAMA0 --load=" builder)
> + (string-append "console=ttyS0 --load=" builder))
Could you add a short comment explaining this?
> "-device" "virtio-blk,drive=myhd"
> (append
> (if make-disk-image?
> @@ -133,10 +136,20 @@ the #:references-graphs parameter of 'derivation'."
> ",format=" disk-image-format
> ",id=myhd"))
> '())
> + ;; On ARM, a machine has to be specified. Use
> + ;; "virt" machine to avoid hardware limits imposed
> + ;; by other machines.
> + (if target-arm32?
> + '("-M" "virt")
> + '())
> ;; Only enable kvm if we see /dev/kvm exists.
> ;; This allows users without hardware virtualization to still
> ;; use these commands.
> - (if (file-exists? "/dev/kvm")
> + ;;
> + ;; KVM support is still buggy on some ARM32 boards. Do not
> + ;; use it even if available.
> + (if (and (file-exists? "/dev/kvm")
> + (not target-arm32?))
> '("-enable-kvm")
> '()))))
For clarity, it might be best to collect all the platform-specific
options separately, like:
(define arch-specific-flags
`(,@(if target-arm32? '("-M" "virt") '())
,@(if (and (file-exists? "/dev/kvm") …) …)
…))
WDYT?
Ludo’.
This bug report was last modified 7 years and 108 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.