• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env bash
2
3set -e
4set -o xtrace
5
6# Fetch the arm-built rootfs image and unpack it in our x86_64 container (saves
7# network transfer, disk usage, and runtime on test jobs)
8
9# shellcheck disable=SC2154 # arch is assigned in previous scripts
10if curl -X HEAD -s "${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${ARTIFACTS_SUFFIX}/${arch}/done"; then
11  ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${ARTIFACTS_SUFFIX}/${arch}"
12else
13  ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${ARTIFACTS_SUFFIX}/${arch}"
14fi
15
16curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
17    "${ARTIFACTS_URL}"/lava-rootfs.tar.zst -o rootfs.tar.zst
18mkdir -p /rootfs-"$arch"
19tar -C /rootfs-"$arch" '--exclude=./dev/*' --zstd -xf rootfs.tar.zst
20rm rootfs.tar.zst
21
22if [[ $arch == "arm64" ]]; then
23    mkdir -p /baremetal-files
24    pushd /baremetal-files
25
26    curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
27	-O "${KERNEL_IMAGE_BASE}"/arm64/Image
28    curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
29        -O "${KERNEL_IMAGE_BASE}"/arm64/Image.gz
30    curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
31        -O "${KERNEL_IMAGE_BASE}"/arm64/cheza-kernel
32
33    DEVICE_TREES=""
34    DEVICE_TREES="$DEVICE_TREES apq8016-sbc-usb-host.dtb"
35    DEVICE_TREES="$DEVICE_TREES apq8096-db820c.dtb"
36    DEVICE_TREES="$DEVICE_TREES tegra210-p3450-0000.dtb"
37    DEVICE_TREES="$DEVICE_TREES imx8mq-nitrogen.dtb"
38
39    for DTB in $DEVICE_TREES; do
40	curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
41            -O "${KERNEL_IMAGE_BASE}/arm64/$DTB"
42    done
43
44    popd
45elif [[ $arch == "armhf" ]]; then
46    mkdir -p /baremetal-files
47    pushd /baremetal-files
48
49    curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
50        -O "${KERNEL_IMAGE_BASE}"/armhf/zImage
51
52    DEVICE_TREES=""
53    DEVICE_TREES="$DEVICE_TREES imx6q-cubox-i.dtb"
54    DEVICE_TREES="$DEVICE_TREES tegra124-jetson-tk1.dtb"
55
56    for DTB in $DEVICE_TREES; do
57	curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
58            -O "${KERNEL_IMAGE_BASE}/armhf/$DTB"
59    done
60
61    popd
62fi
63