summaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
authorAlexandru Nemes <alexandru.nemes@enea.com>2017-05-16 15:50:27 +0300
committerAlexandru Nemes <alexandru.nemes@enea.com>2017-07-03 11:39:35 +0000
commit241b693baaec90347d08e63eb1dc167a0033ec21 (patch)
treea0c0599bd0e8cdebd9df2d8ee958bb73c4c4fbc3 /install.sh
parent0367765435e89f1590c6db25b74880b8014164c8 (diff)
Yardstick: Aarch64 jenkins slave support
Change-Id: I2d58c38d75fc1fe036769340e9fb02932f543510 Signed-off-by: Alexandru Nemes <alexandru.nemes@enea.com>
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh44
1 files changed, 32 insertions, 12 deletions
diff --git a/install.sh b/install.sh
index b8212d2f4..ad14b8e0b 100755
--- a/install.sh
+++ b/install.sh
@@ -9,24 +9,44 @@
##############################################################################
# fit for arm64
+DOCKER_ARCH="$(uname -m)"
+
+UBUNTU_PORTS_URL="http://ports.ubuntu.com/ubuntu-ports/"
+UBUNTU_ARCHIVE_URL="http://archive.ubuntu.com/ubuntu/"
+
source_file=/etc/apt/sources.list
-sed -i -e 's/^deb \([^/[]\)/deb [arch=amd64] \1/g' "${source_file}"
+
+if [[ "${DOCKER_ARCH}" == "aarch64" ]]; then
+ sed -i -e 's/^deb \([^/[]\)/deb [arch=arm64] \1/g' "${source_file}"
+ DOCKER_ARCH="arm64"
+ DOCKER_REPO="${UBUNTU_PORTS_URL}"
+ EXTRA_ARCH="amd64"
+ EXTRA_REPO="${UBUNTU_ARCHIVE_URL}"
+ dpkg --add-architecture amd64
+else
+ sed -i -e 's/^deb \([^/[]\)/deb [arch=amd64] \1/g' "${source_file}"
+ DOCKER_ARCH="amd64"
+ DOCKER_REPO="${UBUNTU_ARCHIVE_URL}"
+ EXTRA_ARCH="arm64"
+ EXTRA_REPO="${UBUNTU_PORTS_URL}"
+ dpkg --add-architecture arm64
+fi
+
sed -i -e 's/^deb-src /# deb-src /g' "${source_file}"
echo "APT::Default-Release \"trusty\";" > /etc/apt/apt.conf.d/default-distro
sub_source_file=/etc/apt/sources.list.d/yardstick.list
touch "${sub_source_file}"
-echo -e "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ xenial-updates universe
-deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty main universe multiverse restricted
-deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main universe multiverse restricted
-deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-security main universe multiverse restricted
-deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ trusty-proposed main universe multiverse restricted" > "${sub_source_file}"
-echo "vm.mmap_min_addr = 0" > /etc/sysctl.d/mmap_min_addr.conf
-proc_type=$(uname -m)
-if [[ $proc_type == "arm"* ]]; then
- dpkg --add-architecture arm64
-fi
+# first add xenial repo needed for installing qemu_static_user/xenial in the container
+# then add complementary architecture repositories in case the cloud image is of different arch
+echo -e "deb [arch="${DOCKER_ARCH}"] "${DOCKER_REPO}" xenial-updates universe
+deb [arch="${EXTRA_ARCH}"] "${EXTRA_REPO}" trusty main universe multiverse restricted
+deb [arch="${EXTRA_ARCH}"] "${EXTRA_REPO}" trusty-updates main universe multiverse restricted
+deb [arch="${EXTRA_ARCH}"] "${EXTRA_REPO}" trusty-security main universe multiverse restricted
+deb [arch="${EXTRA_ARCH}"] "${EXTRA_REPO}" trusty-proposed main universe multiverse restricted" > "${sub_source_file}"
+
+echo "vm.mmap_min_addr = 0" > /etc/sysctl.d/mmap_min_addr.conf
# install tools
apt-get update && apt-get install -y \
@@ -52,7 +72,7 @@ apt-get update && apt-get install -y \
python-pip \
vim
-if [[ $proc_type == "arm"* ]]; then
+if [[ "${DOCKER_ARCH}" != "aarch64" ]]; then
apt-get install -y libc6:arm64
fi