From 4023a639de3873bbae3e2b112f652791c5962ffa Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Tue, 11 Jul 2017 18:35:40 +0200 Subject: lib.sh: AArch64: Use VGA video mode for guests On AArch64, there is no Cirrus video, so use VGA mode instead. 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 Change-Id: Ia84ea5536b68e14993b719488375b0041183a767 Signed-off-by: Alexandru Avadanii --- ci/deploy.sh | 6 ++++++ mcp/scripts/lib.sh | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ci/deploy.sh b/ci/deploy.sh index 7b3bf54c4..a39d4946b 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -283,6 +283,12 @@ pushd "${DEPLOY_DIR}" > /dev/null [ -n "$(command -v yum)" ] && sudo yum install -y \ git make rsync genisoimage curl virt-install qemu-kvm +if [ "$(uname -i)" = "aarch64" ]; then + [ -n "$(command -v apt-get)" ] && sudo apt-get install -y vgabios && \ + sudo ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin + [ -n "$(command -v yum)" ] && sudo yum install -y vgabios +fi + # Check scenario file existence if [[ ! -f ../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml ]]; then notify "[WARN] ${DEPLOY_SCENARIO}.yaml not found! \ diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 33dba3ccc..8d4510084 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -78,6 +78,13 @@ create_vms() { net_args="${net_args} --network ${net_type}=${net},model=virtio" done + # 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" + fi + # create vms with specified options for node in "${vnodes[@]}"; do # shellcheck disable=SC2086 @@ -88,7 +95,8 @@ create_vms() { --os-type linux --os-variant none \ --boot hd --vnc --console pty --autostart --noreboot \ --disk path="$(pwd)/images/mcp_${node}.iso",device=cdrom \ - --noautoconsole + --noautoconsole \ + ${virt_extra_args} done } -- cgit 1.2.3-korg