gitlab-ci: Re-add kernels for bare-metal
I mistakenly removed what I thought were remnants of when Freedreno used
LAVA for their DUTs. lava_arm.sh is used for baremetal, so re-add that
code.
Fixes: dcd171f5e9
("gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA")
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5839>
This commit is contained in:
@@ -336,7 +336,7 @@ arm_test-base:
|
||||
- .fdo.container-build@debian
|
||||
- .container
|
||||
variables:
|
||||
FDO_DISTRIBUTION_TAG: &arm_test-base "2020-06-22-tracie"
|
||||
FDO_DISTRIBUTION_TAG: &arm_test-base "2020-07-09-cache"
|
||||
|
||||
.use-arm_test-base:
|
||||
extends:
|
||||
@@ -354,7 +354,7 @@ arm64_test:
|
||||
extends:
|
||||
- .use-arm_test-base
|
||||
variables:
|
||||
FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-25-kernelfix"
|
||||
FDO_DISTRIBUTION_TAG: &arm64_test "2020-07-09-cache"
|
||||
|
||||
.use-arm64_test:
|
||||
variables:
|
||||
|
@@ -118,7 +118,6 @@ rm -rf /renderdoc
|
||||
|
||||
|
||||
############### Cross-build kernel
|
||||
KERNEL_URL="https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
|
||||
mkdir -p kernel
|
||||
wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel
|
||||
pushd kernel
|
||||
@@ -129,6 +128,18 @@ for image in ${KERNEL_IMAGE_NAME}; do
|
||||
done
|
||||
cp ${DEVICE_TREES} /lava-files/.
|
||||
|
||||
if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then
|
||||
make Image.lzma
|
||||
mkimage \
|
||||
-f auto \
|
||||
-A arm \
|
||||
-O linux \
|
||||
-d arch/arm64/boot/Image.lzma \
|
||||
-C lzma\
|
||||
-b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
|
||||
/lava-files/cheza-kernel
|
||||
fi
|
||||
|
||||
popd
|
||||
rm -rf kernel
|
||||
|
||||
@@ -151,19 +162,56 @@ rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
|
||||
pushd /lava-files/rootfs-${DEBIAN_ARCH}
|
||||
find -H | cpio -H newc -o | gzip -c - > /lava-files/lava-rootfs.cpio.gz
|
||||
popd
|
||||
rm -rf /lava-files/rootfs-${DEBIAN_ARCH}
|
||||
|
||||
ls -lh /lava-files/
|
||||
if [ ${DEBIAN_ARCH} = arm64 ]; then
|
||||
# Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355
|
||||
# ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the
|
||||
# .config from
|
||||
# http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64
|
||||
# with the following merged in:
|
||||
#
|
||||
# CONFIG_DRM=y
|
||||
# CONFIG_DRM_MSM=y
|
||||
# CONFIG_ATL1C=y
|
||||
#
|
||||
# Reason: 5.5 has a big stack of oopses and warns on db820c. 4.14-5.4
|
||||
# linaro kernel binaries (see above .config link) have these as modules
|
||||
# and distributed the modules only in the debian system, not the initrd,
|
||||
# so they're very hard to extract (involving simg2img and loopback
|
||||
# mounting). 4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for
|
||||
# the command size") so it can't actually run fredreno. qcomlt-4.14 is
|
||||
# unstable at boot (~10% instaboot rate). The 5.4 qcomlt kernel with msm
|
||||
# built in seems like the easiest way to go.
|
||||
wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/Image.gz -O Image.gz \
|
||||
-O /lava-files/db820c-kernel
|
||||
wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/apq8096-db820c.dtb \
|
||||
-O /lava-files/db820c.dtb
|
||||
|
||||
# Make a gzipped copy of the Image for db410c.
|
||||
gzip -k /lava-files/Image
|
||||
|
||||
# Add missing a630 firmware, added to debian packge in apr 2020
|
||||
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \
|
||||
-O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin
|
||||
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \
|
||||
-O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw
|
||||
fi
|
||||
|
||||
. .gitlab-ci/container/container_post_build.sh
|
||||
|
||||
############### Upload the files!
|
||||
ci-fairy minio login $CI_JOB_JWT
|
||||
for f in $(ls /lava-files/); do
|
||||
ci-fairy minio cp /lava-files/$f \
|
||||
minio://${MINIO_PATH}/$f
|
||||
done
|
||||
if [ -n "$UPLOAD_FOR_LAVA" ]; then
|
||||
ci-fairy minio login $CI_JOB_JWT
|
||||
FILES_TO_UPLOAD="lava-rootfs.cpio.gz \
|
||||
$KERNEL_IMAGE_NAME \
|
||||
$(basename -a $DEVICE_TREES)"
|
||||
|
||||
touch /lava-files/done
|
||||
ci-fairy minio cp /lava-files/done minio://${MINIO_PATH}/done
|
||||
for f in $FILES_TO_UPLOAD; do
|
||||
ci-fairy minio cp /lava-files/$f \
|
||||
minio://${MINIO_PATH}/$f
|
||||
done
|
||||
|
||||
touch /lava-files/done
|
||||
ci-fairy minio cp /lava-files/done minio://${MINIO_PATH}/done
|
||||
fi
|
||||
|
||||
|
@@ -13,6 +13,7 @@ apt-get -y install --no-install-recommends \
|
||||
libdrm-nouveau2 \
|
||||
libx11-6 \
|
||||
libx11-xcb1 \
|
||||
firmware-qcom-media \
|
||||
netcat-openbsd \
|
||||
python3 \
|
||||
libpython3.7 \
|
||||
@@ -37,13 +38,19 @@ exec sh
|
||||
EOF
|
||||
chmod +x /init
|
||||
|
||||
mkdir -p /lib/firmware/rtl_nic
|
||||
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8153a-3.fw -O /lib/firmware/rtl_nic/rtl8153a-3.fw
|
||||
|
||||
#######################################################################
|
||||
# Strip the image to a small minimal system without removing the debian
|
||||
# toolchain.
|
||||
|
||||
# xz compress firmware so it doesn't waste RAM at runtime.
|
||||
# xz compress firmware so it doesn't waste RAM at runtime. Except db820c's
|
||||
# GPU firmware, due to using a precompiled kernel without compression support.
|
||||
find /lib/firmware -type f -print0 | \
|
||||
grep -vz a530 | \
|
||||
xargs -0r -P4 -n4 xz -T1 -C crc32
|
||||
ln -s /lib/firmware/qcom/a530* /lib/firmware/
|
||||
|
||||
# Copy timezone file and remove tzdata package
|
||||
rm -rf /etc/localtime
|
||||
|
@@ -1,5 +1,5 @@
|
||||
variables:
|
||||
DISTRIBUTION_TAG: "2020-07-06"
|
||||
DISTRIBUTION_TAG: "2020-07-10"
|
||||
|
||||
.kernel+rootfs:
|
||||
stage: container-2
|
||||
@@ -7,8 +7,10 @@ variables:
|
||||
- .ci-run-policy
|
||||
variables:
|
||||
GIT_STRATEGY: fetch
|
||||
KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
|
||||
UPLOAD_FOR_LAVA: 1
|
||||
script:
|
||||
- DEBIAN_ARCH=${DEBIAN_ARCH} .gitlab-ci/container/lava_arm.sh
|
||||
- .gitlab-ci/container/lava_arm.sh
|
||||
|
||||
kernel+rootfs_arm64:
|
||||
extends:
|
||||
|
Reference in New Issue
Block a user