X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FDEBIAN%2F40-misc;h=a699fdb91f3522245f59a3546f4e73c517439b6f;hb=c47175685b348735b3440e16851dde2cc39b6f3f;hp=8308bbe33dae7b662437697b6d7959cfc11d5ce4;hpb=056eb4e90e13b2d8f7cbb8c3b875f35bf0fa207e;p=automated-distro-installer diff --git a/fai/config/scripts/DEBIAN/40-misc b/fai/config/scripts/DEBIAN/40-misc index 8308bbe..a699fdb 100755 --- a/fai/config/scripts/DEBIAN/40-misc +++ b/fai/config/scripts/DEBIAN/40-misc @@ -3,6 +3,22 @@ # (c) Thomas Lange, 2001-2016, lange@debian.org # (c) Michael Goetze, 2010-2011, mgoetze@mgoetze.net + +# on ubuntu 16.04 which didn't run this script, some things which didn't +# apply: +# /etc/dpkg/dpkg.cfg.d/fai didn't exist, +# machine-id was already setup. + +# on that system and a debian stretch system, after reboot, +# some things done here don't seem to persist: +# some thin/etc/mtab is symlink somewhere else, +# and mailname is $HOSTNAME.lan + +# the adjtime thing is to support changing the system clock +# from representing UTC (the default) to localtime (windows default). + +# afaik, the only useful thing here for me is setting /etc/hostname + error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code # a list of modules which are loaded at boot time @@ -28,7 +44,12 @@ elif [ -f $target/lib/systemd/system/getty@.service ]; then sed -i -e 's#sbin/agetty --noclear#sbin/agetty -f /etc/issue.linuxlogo --noclear#' $target/lib/systemd/system/getty@.service fi -if [ ! -f $target/etc/machine-id -a -f $target/bin/systemd-machine-id-setup ]; then +# make sure a machine-id exists +if [ ! -f $target/etc/machine-id ]; then + > $target/etc/machine-id +fi +# recreate machine-id if the file is empty +if [ X"$(stat -c '%s' $target/etc/machine-id 2>/dev/null)" = X0 -a -f /bin/systemd-machine-id-setup ]; then $ROOTCMD systemd-machine-id-setup fi @@ -37,7 +58,10 @@ ln -fs /proc/mounts $target/etc/mtab rm -f $target/etc/dpkg/dpkg.cfg.d/fai $target/etc/dpkg/dpkg.cfg.d/unsafe-io if [ $FAI_ACTION = "install" -o $FAI_ACTION = "dirinstall" ] ; then - [ -f /etc/fai/fai.conf ] && cp /etc/fai/fai.conf $target/etc/fai/fai.conf + if [ -f /etc/fai/fai.conf ]; then + mkdir -p $target/etc/fai + cp /etc/fai/fai.conf $target/etc/fai/fai.conf + fi fi ainsl -a /etc/fai/fai.conf "FAI_CONFIG_SRC=$FAI_CONFIG_SRC"