d361b79b69de4844a3e7b0150e900c067be2e83b
[armband.git] / patches / opnfv-fuel / 0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch
1 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 Date: Tue, 11 Jul 2017 18:35:40 +0200
3 Subject: [PATCH] lib.sh: AArch64: Use VGA video mode for guests
4
5 On AArch64, there is no Cirrus video, so use VGA mode instead.
6 For now, we install vgabios package no matter the arch, although
7 it is only used on AArch64.
8
9 On Debian systems, also fix a missing link for vgabios-stdvga.bin.
10 Based on previous Armband work from [1].
11
12 [1] https://github.com/opnfv/armband/blob/danube.2.0/patches/fuel-library/
13     arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch
14
15 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
16 ---
17  ci/deploy.sh       |  5 +++--
18  mcp/scripts/lib.sh | 10 +++++++++-
19  2 files changed, 12 insertions(+), 3 deletions(-)
20
21 diff --git a/ci/deploy.sh b/ci/deploy.sh
22 index 3ac7ff1..cf22d10 100755
23 --- a/ci/deploy.sh
24 +++ b/ci/deploy.sh
25 @@ -270,9 +270,10 @@ pushd "${DEPLOY_DIR}" > /dev/null
26
27  # Install required packages
28  [ -n "$(command -v apt-get)" ] && apt-get install -y \
29 -  git make rsync mkisofs curl virtinst cpu-checker qemu-kvm
30 +  git make rsync mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \
31 +    ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin
32  [ -n "$(command -v yum)" ] && yum install -y \
33 -  git make rsync genisoimage curl virt-install qemu-kvm
34 +  git make rsync genisoimage curl virt-install qemu-kvm vgabios
35
36  # Check scenario file existence
37  if [[ ! -f  ../config/${DEPLOY_SCENARIO}.yaml ]]; then
38 diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
39 index 33dba3c..8d45100 100644
40 --- a/mcp/scripts/lib.sh
41 +++ b/mcp/scripts/lib.sh
42 @@ -78,6 +78,13 @@ create_vms() {
43      net_args="${net_args} --network ${net_type}=${net},model=virtio"
44    done
45
46 +  # AArch64: prepare arch specific arguments
47 +  local virt_extra_args=""
48 +  if [ "$(uname -i)" = "aarch64" ]; then
49 +    # No Cirrus VGA on AArch64, use vga std
50 +    virt_extra_args="$virt_extra_args --video=vga"
51 +  fi
52 +
53    # create vms with specified options
54    for node in "${vnodes[@]}"; do
55      # shellcheck disable=SC2086
56 @@ -88,7 +95,8 @@ create_vms() {
57      --os-type linux --os-variant none \
58      --boot hd --vnc --console pty --autostart --noreboot \
59      --disk path="$(pwd)/images/mcp_${node}.iso",device=cdrom \
60 -    --noautoconsole
61 +    --noautoconsole \
62 +    ${virt_extra_args}
63    done
64  }
65