89 lines
2.1 KiB
Bash
89 lines
2.1 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
srcdir="$(dirname "$0")"
|
|
destdir="$(mkdir -p "$1" && readlink -e "$1")"
|
|
dest=basementhud.squashfs
|
|
releasever=35
|
|
|
|
mkdir -p "${destdir}"
|
|
|
|
dnf --installroot "${destdir}" install -y \
|
|
--releasever ${releasever} \
|
|
fedora-release
|
|
|
|
cp /etc/dnf/dnf.conf "${destdir}/etc/dnf/"
|
|
echo install_weak_deps=False >> "${destdir}"/etc/dnf/dnf.conf
|
|
|
|
dnf --installroot "${destdir}" install -y \
|
|
bcm2711-firmware \
|
|
dracut-network \
|
|
hostname \
|
|
kmod \
|
|
mesa-dri-drivers \
|
|
nbd \
|
|
openbox \
|
|
openssh-server \
|
|
rsyslog \
|
|
systemd \
|
|
systemd-resolved \
|
|
xinit \
|
|
xorg-x11-server-Xorg \
|
|
xset \
|
|
--
|
|
|
|
dnf --installroot "${destdir}" install -y \
|
|
--setopt tsflags=noscripts \
|
|
kernel \
|
|
--
|
|
|
|
cp -p \
|
|
"${srcdir}"/cmdline.txt \
|
|
"${srcdir}"/config.txt \
|
|
"${destdir}"/boot/efi
|
|
|
|
for x in ed25519 rsa ecdsa; do
|
|
chroot "${destdir}" /usr/libexec/openssh/sshd-keygen $x
|
|
done
|
|
|
|
tar --owner root:0 -C "${srcdir}/overlay" -c . \
|
|
| tar -C "${destdir}" -x
|
|
chown -R 1000:1000 "${destdir}"/home/user
|
|
if ! grep -q ^user: "${destdir}"/etc/group; then
|
|
chroot "${destdir}" groupadd -g 1000 user
|
|
fi
|
|
if ! grep -q ^user: "${destdir}"/etc/passwd; then
|
|
chroot "${destdir}" useradd -u 1000 -g 1000 user
|
|
fi
|
|
if ! grep -qE '^video:.*:.+:.*,?user' "${destdir}"/etc/group; then
|
|
chroot "${destdir}" gpasswd -a user video
|
|
fi
|
|
chroot "${destdir}" systemctl enable \
|
|
systemd-time-wait-sync \
|
|
systemd-timesyncd \
|
|
xinit@user
|
|
|
|
if ! [ -f "${destdir}"/usr/local/bin/playwright ]; then
|
|
python3 -m pip \
|
|
install \
|
|
--prefix "${destdir}"/usr/local \
|
|
playwright
|
|
fi
|
|
if ! [ -d "${destdir}"/usr/local/ms-playwright ]; then
|
|
py_site_dir=$(
|
|
"${destdir}"/usr/bin/python3 -c 'import site;print(site.getsitepackages()[0])'
|
|
)
|
|
PLAYWRIGHT_BROWSERS_PATH="${destdir}"/usr/local/ms-playwright \
|
|
PYTHONPATH="${destdir}${py_site_dir}" \
|
|
python3 -m playwright install firefox
|
|
fi
|
|
|
|
umask 0022
|
|
mksquashfs "${destdir}" "${destdir}/boot/${dest}" \
|
|
-comp lz4 \
|
|
-noappend \
|
|
-ef "${srcdir}"/squashfs-exclude.txt \
|
|
-no-exports \
|
|
-wildcards
|