aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-07-11 18:35:40 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-08-11 11:27:07 +0000
commit4023a639de3873bbae3e2b112f652791c5962ffa (patch)
tree4653cc71761b240c91e09212f8494a417efe99eb
parentbaccdc43292c3f33fd697e5b67b2867e2ea73c71 (diff)
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 <Alexandru.Avadanii@enea.com>
-rwxr-xr-xci/deploy.sh6
-rw-r--r--mcp/scripts/lib.sh10
2 files changed, 15 insertions, 1 deletions
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
}