#!/bin/bash -x set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR if [[ $EUID != 0 ]]; then echo "$0: error: expected to be root." exit 1 fi if ! type -t fcopy &>/dev/null; then sudo apt-get -y install fai-client fi chroot $FAI_ROOT bash <<'EOFOUTER' if getent group systemd-journal >/dev/null; then # makes the journal be saved to disk. mkdir -p /var/log/journal chmod 755 /var/log/journal fi debconf-set-selections </dev/null; then usermod -aG systemd-journal iank fi # this is usefull. Only thing reason I see this being disabled by default is # that a normal user can disrupt the system, eg cause a reboot. sed -i '$a kernel.sysrq=1 /^kernel.sysrq=/d' /etc/sysctl.conf EOF if [[ $FAI_ACTION != dirinstall ]]; then cat >$FAI_ROOT/etc/grub.d/40_custom <<'EOF' #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. # https://www.coreboot.org/Serial_console # tty # but removed unneeded stuff serial --speed=115200 terminal_input --append serial terminal_output --append serial EOF chroot $FAI_ROOT bash <<'EOF' # https://askubuntu.com/questions/33416/how-do-i-disable-the-boot-splash-screen-and-only-show-kernel-and-boot-text-inst # it suggests not having plymouth-theme-ubuntu-text, but # making it not installed then kills plymouth, then makes # the system not boot. sed -ri 's/(^ *GRUB_CMDLINE_LINUX.*)quiet splash/\1/' /etc/default/grub # todo: not sure, but this might screw up systems without a serial port # and thus need a conditional. sed -ri 's/^ *GRUB_CMDLINE_LINUX_DEFAULT="/\0console=ttyS0,115200 console=tty0 /' /etc/default/grub # 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 update-grub2 EOF fi # reading through the groups that iank is in but traci isn't, for g in plugdev audio video cdrom; do $ROOTCMD usermod -a -G $g traci done