summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/create-rootfs.sh
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2020-01-28 12:02:39 -0800
committerEric Anholt <[email protected]>2020-02-27 09:36:26 -0800
commit33f38605e9ac644de66000ec20170f7023f24243 (patch)
tree11ada109adfdb94b83e9243e535281d16af54a0d /.gitlab-ci/create-rootfs.sh
parent20659f18947a48714fa8ce0f433304746541e110 (diff)
ci: Include db410c support in the ARM container.
I'm working on moving the db410c CI from docker to LAVA, which means we get to boot a custom kernel. To do that, we need to enable ARCH_QCOM in the kernel, save the dtb around, and include abootimg in our container so that we can generate combined kernel/dtb/ramdisk images for fastboot. LAVA's fastboot support is unable to pack the overlay into an abootimg image, just a cpio rootfs. We could flash the cpio rootfs after overlay addition, but that takes 2 minutes to do, and causes wear on the devices. Instead, we'll bring up the network at boot and use wget to fetch the overlay. We'll want network support anyway, so that we can transfer the failure xmls back to the gitlab job's artifacts at some point. Since the msm GPU and realtek network firmware increase our payload by 3MB, add in firmware compression so that it doesn't waste as much RAM on devices not using it. Reviewed-by: Tomeu Vizoso <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3928> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3928>
Diffstat (limited to '.gitlab-ci/create-rootfs.sh')
-rw-r--r--.gitlab-ci/create-rootfs.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/.gitlab-ci/create-rootfs.sh b/.gitlab-ci/create-rootfs.sh
index b11a774c021..2baaeeb22d9 100644
--- a/.gitlab-ci/create-rootfs.sh
+++ b/.gitlab-ci/create-rootfs.sh
@@ -10,6 +10,10 @@ apt-get -y install --no-install-recommends \
libexpat1 \
libdrm2 \
libdrm-nouveau2 \
+ firmware-qcom-media \
+ firmware-realtek \
+ wget \
+ xz-utils
passwd root -d
chsh -s /bin/sh
@@ -24,6 +28,9 @@ chmod +x /init
# Strip the image to a small minimal system without removing the debian
# toolchain.
+# xz compress firmware so it doesn't waste RAM at runtime.
+find /lib/firmware -type f -print0 | xargs -0r -P4 -n4 xz -T1 -C crc32
+
# Copy timezone file and remove tzdata package
rm -rf /etc/localtime
cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
@@ -91,10 +98,10 @@ UNNEEDED_PACKAGES="apt libapt-pkg5.0 "\
"init-system-helpers "\
"bash "\
"cpio "\
+"xz-utils "\
"passwd "\
"libsemanage1 libsemanage-common "\
"libsepol1 "\
-"gzip "\
"gpgv "\
"hostname "\
"adduser "\
@@ -189,5 +196,3 @@ rm usr/lib/*/libdb-5.3.so
# remove NSS support for nis, nisplus and hesiod
rm usr/lib/*/libnss_hesiod*
rm usr/lib/*/libnss_nis*
-
-rm bin/tar