X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FDEBIAN%2F40-misc;h=8608333b0f3ff87e0724ac27ade18c7e82ddb10d;hb=11a2db1a576e78f58af7f1e7e4c83422635b630d;hp=f2a65785ebd4db627d1ca9ec37a9829199bae9a5;hpb=3bd65f0ca635f1349626c2393a4dd8a50df64f54;p=automated-distro-installer diff --git a/fai/config/scripts/DEBIAN/40-misc b/fai/config/scripts/DEBIAN/40-misc index f2a6578..8608333 100755 --- a/fai/config/scripts/DEBIAN/40-misc +++ b/fai/config/scripts/DEBIAN/40-misc @@ -1,8 +1,24 @@ #! /bin/bash -# (c) Thomas Lange, 2001-2015, lange@debian.org +# (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 @@ -11,9 +27,9 @@ for module in $MODULESLIST; do done fcopy -Mv /etc/hostname || echo $HOSTNAME > $target/etc/hostname -ainsl -av /etc/mailname ${HOSTNAME} +ainsl -a /etc/mailname ${HOSTNAME} if [ ! -e $target/etc/adjtime ]; then - printf "0.0 0 0.0\n0\nUTC" > $target/etc/adjtime + printf "0.0 0 0.0\n0\nUTC\n" > $target/etc/adjtime fi if [ "$UTC" = "yes" ]; then sed -i -e 's:^LOCAL$:UTC:' $target/etc/adjtime @@ -28,17 +44,23 @@ 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 ln -fs /proc/mounts $target/etc/mtab -rm -f $target/etc/dpkg/dpkg.cfg.d/fai +rm -f $target/etc/dpkg/dpkg.cfg.d/fai $target/etc/dpkg/dpkg.cfg.d/unsafe-io -[ $FAI_ACTION = "install" -a -f /etc/fai/fai.conf ] && cp /etc/fai/fai.conf $target/etc/fai/fai.conf -ainsl -av /etc/fai/fai.conf "FAI_CONFIG_SRC=$FAI_CONFIG_SRC" - -fcopy -Miv /etc/fai/fai.conf +if [ -d /etc/fai ]; then + ainsl -a /etc/fai/fai.conf "FAI_CONFIG_SRC=$FAI_CONFIG_SRC" + fcopy -Miv /etc/fai/fai.conf +fi +fcopy -iv /etc/rc.local exit $error