87 lines
2.0 KiB
Bash
87 lines
2.0 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
srcdir="$(dirname "$0")"
|
|
destdir="$(mkdir -p "$1" && readlink -e "$1")"
|
|
dest=basementhud.squashfs
|
|
releasever=37
|
|
|
|
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 \
|
|
curl \
|
|
dhcp-client \
|
|
dracut-network \
|
|
firefox \
|
|
hostname \
|
|
kmod \
|
|
mesa-dri-drivers \
|
|
nbd \
|
|
openbox \
|
|
openssh-server \
|
|
openssl1.1 \
|
|
rsyslog \
|
|
systemd \
|
|
xinit \
|
|
xorg-x11-server-Xorg \
|
|
xrandr \
|
|
xset \
|
|
zram-generator \
|
|
zram-generator-defaults \
|
|
--
|
|
|
|
dnf --installroot "${destdir}" install -y \
|
|
--setopt tsflags=noscripts \
|
|
kernel \
|
|
--
|
|
kver=$(rpm --root "${destdir}" -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}' kernel)
|
|
if [ ! -f "${destdir}"/lib/modules/"${kver}"/modules.dep ]; then
|
|
chroot "${destdir}" depmod -a "${kver}"
|
|
fi
|
|
|
|
cp -p \
|
|
"${srcdir}"/cmdline.txt \
|
|
"${srcdir}"/config.txt \
|
|
"${destdir}"/boot/efi
|
|
|
|
tar --owner root:0 --group 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 \
|
|
dhclient@eth0 \
|
|
systemd-time-wait-sync \
|
|
systemd-timesyncd \
|
|
xinit@user
|
|
chroot "${destdir}" systemctl disable \
|
|
systemd-homed \
|
|
systemd-userdbd
|
|
ln -sf /run/resolv.conf "${destdir}"/etc/resolv.conf
|
|
grep -lR pam_sss "${destdir}"/etc/pam.d \
|
|
| xargs sed -i /pam_sss/d
|
|
|
|
umask 0022
|
|
mksquashfs "${destdir}" "${destdir}/boot/${dest}" \
|
|
-comp lz4 \
|
|
-noappend \
|
|
-ef "${srcdir}"/squashfs-exclude.txt \
|
|
-no-exports \
|
|
-wildcards
|