X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FDEBIAN%2F11-iank;h=b2c5567533a56e35bcc4a7e0ccb13fbc8f366ab9;hb=d3fb9d4972142e5a1676435dfdefbe0ea821a201;hp=69b9afe7bc10c3f2d53a8999e2795ceb1439ca5c;hpb=edb1a99660561c51aa5c7803d978284c7b423842;p=automated-distro-installer diff --git a/fai/config/scripts/DEBIAN/11-iank b/fai/config/scripts/DEBIAN/11-iank index 69b9afe..b2c5567 100755 --- a/fai/config/scripts/DEBIAN/11-iank +++ b/fai/config/scripts/DEBIAN/11-iank @@ -24,12 +24,34 @@ if [[ $EUID != 0 ]]; then exit 1 fi +m() { printf "%s\n" "$*"; "$@"; } + +source $FAI/distro-install-common/bash-misc-functions + fcopy -riB /root +# in bullseye, installing systemd-resolved says: Converting +# /etc/resolv.conf to a symlink to +# /run/systemd/resolve/stub-resolv.conf... which breaks +# resolution. This happens to be the first script we install a package +# after that. This should do nothing in a fai-wrapper situation. +if [[ ! -s $target/etc/resolv.conf ]]; then + m ls -la $target/etc/resolv.conf ||: + # Keep the symlink in place, systemd-resolved should change the file + # when it runs. + mkdir -p $target/run/systemd/resolve + if [[ ! -s /etc/resolv.conf ]] && ! host google.com; then + echo "ERROR: empty resolv.conf & failed dns resolution. exiting 1" >&2 + exit 1 + fi + cat /etc/resolv.conf >$target/etc/resolv.conf +fi + + #### misc configurations chroot $FAI_ROOT bash <<'EOFOUTER' -set -x +set -xe if getent group systemd-journal >/dev/null; then # makes the journal be saved to disk. mkdir -p /var/log/journal @@ -38,13 +60,17 @@ fi debconf-set-selections <>/etc/default/grub - - -sed -ri 's/^ *GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="$cmdline"/' /etc/default/grub -sed -ri 's/^ *GRUB_TIMEOUT_STYLE=.*/GRUB_TIMEOUT_STYLE=menu/' /etc/default/grub -sed -ri 's/^ *GRUB_TIMEOUT=.*/GRUB_TIMEOUT=6/' /etc/default/grub +GRUB_CMDLINE_LINUX_DEFAULT="$cmdline" +GRUB_TERMINAL=console # on xenial, no grub is displayed at all. fix that. -# found just by noticing this in the config file, and a -# warning about it in error.log -sed -i '/^ *GRUB_HIDDEN_TIMEOUT/d' /etc/default/grub - -if type -P update-grub2 &>/dev/null; then - update-grub2 -else - update-grub -fi - +# found just by noticing a warning about it in error.log +GRUB_HIDDEN_TIMEOUT= +GRUB_TIMEOUT_STYLE=menu +GRUB_TIMEOUT=4 +# grub tries to detect error in booting and then wait longer with this entry. +# but that detection doesn't work for us because we have btrfs /boot, and so it flags +# failure always. +GRUB_RECORDFAIL_TIMEOUT=4 EOF +if $ur; then + $ROOTCMD update-grub +fi # I prefer to stick with ifup/down or networkmanager: networkd is not in its # own package, so cant use in other init systems. b. it works fine.