merge upstream, untested
[automated-distro-installer] / fai / config / scripts / DEBIAN / 40-misc
1 #! /bin/bash
2
3 # (c) Thomas Lange, 2001-2016, lange@debian.org
4 # (c) Michael Goetze, 2010-2011, mgoetze@mgoetze.net
5
6
7 # on ubuntu 16.04 which didn't run this script, some things which didn't
8 # apply:
9 # /etc/dpkg/dpkg.cfg.d/fai didn't exist,
10 # machine-id was already setup.
11
12 # on that system and a debian stretch system, after reboot,
13 # some things done here don't seem to persist:
14 # some thin/etc/mtab is symlink somewhere else,
15 # and mailname is $HOSTNAME.lan
16
17 # the adjtime thing is to support changing the system clock
18 # from representing UTC (the default) to localtime (windows default).
19
20 # afaik, the only useful thing here for me is setting /etc/hostname
21
22 error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code
23
24 # a list of modules which are loaded at boot time
25 for module in $MODULESLIST; do
26 ainsl -a /etc/modules "^$module$"
27 done
28
29 fcopy -Mv /etc/hostname || echo $HOSTNAME > $target/etc/hostname
30 ainsl -a /etc/mailname ${HOSTNAME}
31 if [ ! -e $target/etc/adjtime ]; then
32 printf "0.0 0 0.0\n0\nUTC\n" > $target/etc/adjtime
33 fi
34 if [ "$UTC" = "yes" ]; then
35 sed -i -e 's:^LOCAL$:UTC:' $target/etc/adjtime
36 else
37 sed -i -e 's:^UTC$:LOCAL:' $target/etc/adjtime
38 fi
39
40 # enable linuxlogo
41 if [ -f $target/etc/inittab ]; then
42 sed -i -e 's#/sbin/getty 38400#/sbin/getty -f /etc/issue.linuxlogo 38400#' ${target}/etc/inittab
43 elif [ -f $target/lib/systemd/system/getty@.service ]; then
44 sed -i -e 's#sbin/agetty --noclear#sbin/agetty -f /etc/issue.linuxlogo --noclear#' $target/lib/systemd/system/getty@.service
45 fi
46
47 # make sure a machine-id exists
48 if [ ! -f $target/etc/machine-id ]; then
49 > $target/etc/machine-id
50 fi
51 # recreate machine-id if the file is empty
52 if [ X"$(stat -c '%s' $target/etc/machine-id 2>/dev/null)" = X0 -a -f /bin/systemd-machine-id-setup ]; then
53 $ROOTCMD systemd-machine-id-setup
54 fi
55
56 ln -fs /proc/mounts $target/etc/mtab
57
58 rm -f $target/etc/dpkg/dpkg.cfg.d/fai $target/etc/dpkg/dpkg.cfg.d/unsafe-io
59
60 if [ -d /etc/fai ]; then
61 ainsl -a /etc/fai/fai.conf "FAI_CONFIG_SRC=$FAI_CONFIG_SRC"
62 fcopy -Miv /etc/fai/fai.conf
63 fi
64 fcopy -iv /etc/rc.local
65
66 exit $error