libexpat1 \
libdrm2 \
libdrm-nouveau2 \
+ libx11-6 \
+ libx11-xcb1 \
firmware-qcom-media \
+ netcat-openbsd \
+ python3 \
+ libpython3.7 \
+ python3-pil \
+ python3-pytest \
+ python3-requests \
+ python3-yaml \
wget \
xz-utils
+
+if [ -n "$INCLUDE_VK_CTS" ]; then
+ apt-get install -y libvulkan1
+fi
+
passwd root -d
chsh -s /bin/sh
# 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
+# 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
# Dropping documentation, localization, i18n files, etc
rm -rf /usr/share/doc/*
rm -rf /usr/share/locale/*
+rm -rf /usr/share/X11/locale/*
rm -rf /usr/share/man
rm -rf /usr/share/i18n/*
rm -rf /usr/share/info/*
# IMPORTANT: The Debian system is not longer functional at this point,
# for example, apt and dpkg will stop working
-UNNEEDED_PACKAGES="apt libapt-pkg5.0 "\
-"ncurses-bin ncurses-base libncursesw5 libncurses5 "\
+UNNEEDED_PACKAGES="apt libapt-pkg6.0 "\
+"ncurses-bin ncurses-base libncursesw6 libncurses6 "\
"perl-base "\
"debconf libdebconfclient0 "\
"e2fsprogs e2fslibs libfdisk1 "\
"passwd "\
"libsemanage1 libsemanage-common "\
"libsepol1 "\
+"gzip "\
"gpgv "\
"hostname "\
"adduser "\
"debian-archive-keyring "\
+"libegl1-mesa-dev "\
+"libegl-mesa0 "\
+"libgl1-mesa-dev "\
+"libgl1-mesa-dri "\
+"libglapi-mesa "\
+"libgles2-mesa-dev "\
+"libglx-mesa0 "\
+"mesa-common-dev "\
+"libz3-4 "\
# Removing unneeded packages
for PACKAGE in ${UNNEEDED_PACKAGES}
rm -rf usr/lib/locale/*
# partition helpers
-rm usr/sbin/*fdisk
+rm -rf usr/sbin/*fdisk
# local compiler
-rm usr/bin/localedef
+rm -rf usr/bin/localedef
# Systemd dns resolver
find usr etc -name '*systemd-resolve*' -prune -exec rm -r {} \;
rm -rf usr/lib/lsb
# Only needed when adding libraries
-rm usr/sbin/ldconfig*
+rm -rf usr/sbin/ldconfig*
# Games, unused
rmdir usr/games
# Remove pam module to authenticate against a DB
# plus libdb-5.3.so that is only used by this pam module
-rm usr/lib/*/security/pam_userdb.so
-rm usr/lib/*/libdb-5.3.so
+rm -rf usr/lib/*/security/pam_userdb.so
+rm -rf 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 -rf usr/lib/*/libnss_hesiod*
+rm -rf usr/lib/*/libnss_nis*