At least the current crop of Aarch64 HW can support running 32 bit EL0
code. Before we can build and test we need a minimal set of packages
installed. We can't use "apt build-dep" because it currently gets
confused trying to keep two sets of build-deps installed at once.
Instead we install a minimal set of libraries that will allow us to
continue.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
scripts/ci/setup/build-environment.yml | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/scripts/ci/setup/build-environment.yml b/scripts/ci/setup/build-environment.yml
index 599896cc5b..9182e0c253 100644
--- a/scripts/ci/setup/build-environment.yml
+++ b/scripts/ci/setup/build-environment.yml
@@ -19,6 +19,13 @@
- '((ansible_version.major == 2) and (ansible_version.minor >= 8)) or (ansible_version.major >= 3)'
msg: "Unsuitable ansible version, please use version 2.8.0 or later"
+ - name: Add armhf foreign architecture to aarch64 hosts
+ command: dpkg --add-architecture armhf
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['architecture'] == 'aarch64'
+ - ansible_facts['distribution_version'] == '20.04'
+
- name: Update apt cache / upgrade packages via apt
apt:
update_cache: yes
@@ -115,6 +122,24 @@
- ansible_facts['distribution'] == 'Ubuntu'
- ansible_facts['distribution_version'] == '20.04'
+ - name: Install armhf cross-compile packages to build QEMU on AArch64 Ubuntu 20.04
+ package:
+ name:
+ - binutils-arm-linux-gnueabihf
+ - gcc-arm-linux-gnueabihf
+ - libblkid-dev:armhf
+ - libc6-dev:armhf
+ - libffi-dev:armhf
+ - libglib2.0-dev:armhf
+ - libmount-dev:armhf
+ - libpcre2-dev:armhf
+ - libpixman-1-dev:armhf
+ - zlib1g-dev:armhf
+ when:
+ - ansible_facts['distribution'] == 'Ubuntu'
+ - ansible_facts['distribution_version'] == '20.04'
+ - ansible_facts['architecture'] == 'aarch64'
+
- name: Install basic packages to build QEMU on EL8
dnf:
# This list of packages start with tests/docker/dockerfiles/centos8.docker
--
2.30.2