summaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-07-10 17:32:57 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-07-11 19:51:24 +0200
commitde0b0f160f6ac408c2ba302507ede4d0a537b73f (patch)
treec9ea030e00a631ec07ef2d4f8d956a2bbad93eed /patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch
parent7ce3a621f2156110f5434e95a46e6aa6aa1fb9a1 (diff)
MCP: patches: AArch64: Add initial support
- p/fuel: classes: AArch64: virtio-pci-net sync - p/reclass-system-salt-model: Add Armband repos - mcp/config: AArch64: Use UEFI arm64 image Also, allow removal of VMs booted via guest UEFI (OVMF or AAVMF). While at it, bump default vCPU number from 2 to 6. - lib.sh: AArch64: Use VGA video mode for guests On AArch64, there is no Cirrus video, so use VGA mode instead. For now, we install vgabios package no matter the arch, although it is only used on AArch64. On Debian systems, also fix a missing link for vgabios-stdvga.bin. Based on previous Armband work from [1]. - lib.sh: AArch64: virt-install: Use virtio-net-pci AArch64 virt tools (i.e. libvirt) default to "virtio-mmio", instead of "virtio-net-pci", at least before libvirt 3.x (see [2]). Without PCI bus info, we can't really enforce a specific order for the guest ethernet devices. Moreover, predictable network interface naming is out of the question with virtio-mmio, as there is no bus information to rely on. Therefore we will enforce "virtio-net-pci" on AArch64, instead of the default "virtio" (which translates into "virtio-mmio" currently). - salt.sh, user-data: Add Saltstack arm64 repo - salt.sh: Clone armband repo, apply patches from it - classes: virtual: AArch64: virtio-pci-net sync Since AArch64 will be using virtio-net-pci NIC model for guests, predictable interface naming yields a slightly different scheme. Update all configuration to reflect this. FIXME: - Use https for fetching Armband GPG keys! - Revise the patching mechanism, make things more dynamic. [1] https://github.com/opnfv/armband/blob/danube.2.0/patches/fuel-library/ arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch [2] https://www.redhat.com/archives/libvir-list/2016-August/msg00931.html Change-Id: If5aae22066f75732652201a78357c4931438d58d Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch')
-rw-r--r--patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch b/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch
new file mode 100644
index 00000000..a4d71a82
--- /dev/null
+++ b/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch
@@ -0,0 +1,64 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Tue, 11 Jul 2017 18:35:40 +0200
+Subject: [PATCH] lib.sh: AArch64: Use VGA video mode for guests
+
+On AArch64, there is no Cirrus video, so use VGA mode instead.
+For now, we install vgabios package no matter the arch, although
+it is only used on AArch64.
+
+On Debian systems, also fix a missing link for vgabios-stdvga.bin.
+Based on previous Armband work from [1].
+
+[1] https://github.com/opnfv/armband/blob/danube.2.0/patches/fuel-library/
+ arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ ci/deploy.sh | 5 +++--
+ mcp/scripts/lib.sh | 10 +++++++++-
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/ci/deploy.sh b/ci/deploy.sh
+index f98246d..c803a2a 100755
+--- a/ci/deploy.sh
++++ b/ci/deploy.sh
+@@ -230,8 +230,9 @@ pushd ${DEPLOY_DIR} > /dev/null
+ # scenario, etc.
+
+ # Install required packages
+-[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm
+-[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm
++[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \
++ ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin
++[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm vgabios
+
+ # Check scenario file existence
+ if [[ ! -f ../config/${DEPLOY_SCENARIO}.yaml ]]; then
+diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
+index b2998e0..282ca38 100644
+--- a/mcp/scripts/lib.sh
++++ b/mcp/scripts/lib.sh
+@@ -55,6 +55,13 @@ create_vms() {
+ local -n vnodes=$1
+ local -n vnodes_ram=$2
+
++ # AArch64: prepare arch specific arguments
++ local virt_extra_args=""
++ if [ "$(uname -i)" = "aarch64" ]; then
++ # No Cirrus VGA on AArch64, use vga std
++ virt_extra_args="$virt_extra_args --video=vga --noautoconsole"
++ fi
++
+ # create vms with specified options
+ for node in "${vnodes[@]}"; do
+ virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus=6 --cpu host --accelerate \
+@@ -65,7 +72,8 @@ create_vms() {
+ --disk path=$(pwd)/images/mcp_${node}.qcow2,format=qcow2,bus=virtio,cache=none,io=native \
+ --os-type linux --os-variant none \
+ --boot hd --vnc --console pty --autostart --noreboot \
+- --disk path=$(pwd)/images/mcp_${node}.iso,device=cdrom
++ --disk path=$(pwd)/images/mcp_${node}.iso,device=cdrom \
++ ${virt_extra_args}
+ done
+ }
+