X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FGRUB_PC%2F11-iank;h=089f0cb805125e9140f0d791107a96a0c289022f;hb=2230b58f86d24175583f2ce60d271f66d4f122ea;hp=d8fb48dc5120cf49dbfe8dd2c5ec3bb0916329c7;hpb=cef9b6ede5c1e028bed1b4dc7895f5dfa121ad6b;p=automated-distro-installer diff --git a/fai/config/scripts/GRUB_PC/11-iank b/fai/config/scripts/GRUB_PC/11-iank index d8fb48d..089f0cb 100755 --- a/fai/config/scripts/GRUB_PC/11-iank +++ b/fai/config/scripts/GRUB_PC/11-iank @@ -38,7 +38,10 @@ if [[ ! -e $dst && -e $src ]]; then fi $FAI/distro-install-common/end -if ifclass VOL_STRETCH_BOOTSTRAP; then + + + +if ifclass VOL_BUSTER_BOOTSTRAP; then fcopy -riM /etc/systemd/system chroot $FAI_ROOT bash <<'EOFOUTER' systemctl enable fai_check.service @@ -49,7 +52,16 @@ fi # these get copied in an earlier stage by fai, but leaving it here since # 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 ||: fcopy -riBM /etc/apt +tmpfile2=$(mktemp) +chroot $FAI_ROOT /usr/bin/apt-cache policy >$tmpfile2 +if ! diff -q $tmpfile1 $tmpfile2; then + chroot $FAI_ROOT /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) # so add a sleep. 1 sec is probably way more than needed. @@ -106,7 +118,6 @@ sudo -u iank mkdir -p $d sudo -u iank ln -sf /usr/lib/systemd/user/ssh-agent.service $d #### end .ssh setup ### - ## duplicated in ssh-emacs-setup # done here so its setup earlier for convenience line='AcceptEnv INSIDE_EMACS BRC COLUMNS' @@ -114,8 +125,8 @@ f=/etc/ssh/sshd_config grep -xFq "$line" $f || tee -a $f <<<"$line" -# default jessie groups + kvm, systemd-journal, adm -for g in adm cdrom floppy sudo audio dip video plugdev netdev; do +# default debian groups (jessie through buster) + adm, sudo, root +for g in cdrom floppy audio dip video plugdev netdev adm sudo; do if getent gropu $g >/dev/null; then usermod -aG $g iank fi @@ -133,7 +144,22 @@ sed -i '$a kernel.sysrq=1 EOFOUTER -if [[ $FAI_ACTION != dirinstall ]]; then +rm -f $target/etc/resolv.conf +ln -s ../run/systemd/resolve/stub-resolv.conf $target/etc/resolv.conf +# needed for bitfolk image +if [[ -e /a/bin/fai/fai-wrapper ]]; then + systemctl enable systemd-resolved + systemctl start systemd-resolved +fi + + +# bitfolk installer handles the rest +case $HOSTNAME in + bk|je) exit 0 ;; +esac + + +if [[ $FAI_ACTION != dirinstall ]] && ! ifclass NOCRYPT; 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. @@ -143,6 +169,10 @@ if [[ $FAI_ACTION != dirinstall ]]; then else speed=115200 cmdline="rd.luks.crypttab=no net.ifnames=0 console=ttyS0,${speed}n8 console=tty0" + case $HOSTNAME in + # per rubens suggestion to make a d16 more stable + kd|kw) cmdline+=" pci=realloc=off" ;; + esac fi cat >$FAI_ROOT/etc/grub.d/40_custom </dev/null && [[ $(iw dev) ]]; then chroot $FAI_ROOT bash < $target/etc/network/interfaces <<-EOF +# generated by FAI +auto lo eth0 +iface lo inet loopback +iface eth0 inet static +address 10.3.0.2/16 +EOF + fi else cat > $target/etc/network/interfaces <<-EOF @@ -241,9 +281,6 @@ EOF fi -rm -f $target/etc/resolv.conf -ln -s ../run/systemd/resolve/stub-resolv.conf $target/etc/resolv.conf - if ifclass LINODE; then mkdir -p $target/etc/initramfs-tools/conf.d cat >$target/etc/initramfs-tools/conf.d/mine < $target/etc/network/interfaces <<-EOF +# generated by FAI +auto lo eth0 +iface lo inet loopback +iface eth0 inet dhcp +# for the standard network config, uncomment this and comment the lines after it. +#iface eth0 inet6 auto + +iface eth0 inet6 static +# this is really a /128. it seems like we need to assign it for ipv6 to work. +address 2600:3c00::f03c:91ff:fe6d:baf8/64 +gateway fe80::1 + +iface eth0 inet6 static +# from a requested /64 pool +address 2600:3c00:e000:280::2/64 +EOF + fi + fi # I prefer to stick with ifup/down for now. a. networkd is not in its