sleep 1
f=$FAI_ROOT/var/cache/apt/pkgcache.bin
if [[ ! -r $f ]] || (( $(( $(date +%s) - $(stat -c %Y $f ) )) > 60*60*2 )); then
- $ROOTCMD apt-get update
+ i=0
+ while fuser $FAI_ROOT/var/lib/dpkg/lock &>/dev/null; do
+ sleep 1
+ i=$(( i+1 ))
+ if (( i > 300 )); then
+ echo "error: timed out waiting for /var/lib/dpkg/lock" >&2
+ exit 1
+ fi
+ $ROOTCMD apt-get update
+ done
fi
dpkg-reconfigure -fnoninteractive resolvconf
# default jessie groups + kvm, systemd-journal, adm
-usermod -aG adm,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev iank
+for g in adm cdrom floppy sudo audio dip video plugdev netdev; do
+ if getent gropu $g >/dev/null; then
+ usermod -aG $g iank
+ fi
+done
if getent group systemd-journal >/dev/null; then
usermod -aG systemd-journal iank
if [[ $FAI_ACTION != dirinstall ]]; then
+ # luks options, see man systemd-cryptsetup-generator
+ # all i know is that with luks.crypttab=no, swap still timed out on boot.
+ # and with rd.luks.crypttab=no, it works.
+ cmdline="rd.luks.crypttab=no console=ttyS0"
if ifclass LINODE; then
speed=19200
- # luks.crypttab=no see man systemd-cryptsetup-generator
- cmdline="luks.crypttab=no console=ttyS0,${speed}n8"
+ cmdline+=",${speed}n8"
+ cmdline="rd.luks.crypttab=no console=ttyS0,${speed}n8"
else
speed=115200
- cmdline="luks.crypttab=no console=ttyS0,${speed} console=tty0"
+ cmdline+=",${speed}n8 console=tty0"
fi
cat >$FAI_ROOT/etc/grub.d/40_custom <<EOF
update-grub2
EOF
- if [[ ! FAI_WRAPPER ]]; then
+ if [[ ! $FAI_WRAPPER ]]; then
chroot $FAI_ROOT bash <<EOF
# Just include all of them for now incase we are creating
# an install for a different machine.. in distro-begin, we