}
fi
-
+if [[ $FAI_ROOT != / ]]; then
+ bprogs_pre=/srv
+ chroot="chroot $FAI_ROOT"
+fi
# -r = recursive
# -i = ignore non-matching class warnings, always exit 0
# I run this as a single post-fai script to update things that have changed.
tmpfile1=$(mktemp)
# this can fail if we need an apt update
-chroot $FAI_ROOT /usr/bin/apt-cache policy >$tmpfile1 ||:
+$chroot /usr/bin/apt-cache policy >$tmpfile1 ||:
fcopy -riB /etc/apt
tmpfile2=$(mktemp)
-chroot $FAI_ROOT /usr/bin/apt-cache policy >$tmpfile2
+$chroot /usr/bin/apt-cache policy >$tmpfile2
if ! diff -q $tmpfile1 $tmpfile2; then
- chroot $FAI_ROOT /usr/bin/apt update
+ $chroot /usr/bin/apt update
fi
# outside of fai, this seems to regularly lead to
# E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
WantedBy=dev-disk-by\x2did-ata\x2dSamsung_SSD_870_QVO_8TB_S5VUNG0N900656V.device
EOF
- chroot $FAI_ROOT bash <<'EOFOUTER'
+ $chroot bash <<'EOFOUTER'
systemctl enable myncq.service
/usr/bin/myncq no-upgrub
EOFOUTER
# use networkmanager if this host has wireless.
if [[ $HOSTNAME == bo ]] || type -p iw &>/dev/null && [[ $(iw dev) ]]; then
- chroot $FAI_ROOT bash <<EOF
+ $chroot bash <<EOF
apt-get -y install network-manager
EOF
vb=$va-060403
vc=${vb}.202307110536
pre="https://kernel.ubuntu.com/~kernel-ppa/mainline/v$va/amd64/linux-"
- urls=(
- ${pre}headers-${vb}_${vc}_all.deb
- ${pre}{headers,image-unsigned,modules}-${vb}-generic_${vc}_amd64.deb
- )
- wget "${urls[@]}"
- chroot $FAI_ROOT make install
-
- chroot $FAI_ROOT bash <<EOF
+ if ! dpkg -s -- linux-headers-${vb} 2>&1 | grep -Fx "Status: install ok installed" &>/dev/null; then
+ urls=(
+ ${pre}headers-${vb}_${vc}_all.deb
+ ${pre}{headers,image-unsigned,modules}-${vb}-generic_${vc}_amd64.deb
+ )
+ wget "${urls[@]}"
+ $chroot bash <<EOF
cd /tmp/kernel-debs
dpkg -i *.deb
EOF
-
+ fi
;;
*)
- chroot $FAI_ROOT apt-get install linux-libre
+ $chroot apt-get -y install linux-libre
;;
esac
-cp -ra /srv/a/opt/btrfs-progs-release/btrfs-progs-v6.3.2 $FAI_ROOT/tmp/btrfs-progs
-chroot $FAI_ROOT bash <<EOF
+cp -ra $bprogs_pre/a/opt/btrfs-progs-release/btrfs-progs-v6.3.2 $FAI_ROOT/tmp/btrfs-progs
+$chroot bash <<EOF
cd /tmp/btrfs-progs
make install
EOF
if ifclass VOL_BULLSEYE_BOOTSTRAP; then
fcopy /etc/systemd/system/faicheck.service
- chroot $FAI_ROOT bash <<'EOFOUTER'
+ $chroot bash <<'EOFOUTER'
systemctl enable faicheck.service
EOFOUTER
exit 0 # avoid unnecessary stuff in bootstrap vol
## misc settings
-chroot $FAI_ROOT bash <<'EOFOUTER'
+$chroot bash <<'EOFOUTER'
#### begin .ssh setup ###
set -x
set -eE -o pipefail