#! /bin/bash

# reboot FAI correctly, Thomas Lange, Uni Koeln, copyright 2000-2025

faimond=0
. /usr/lib/fai/subroutines

[ -f /tmp/fai/variables.log ] && . /tmp/fai/variables.log

while getopts s opt ; do
        case "$opt" in
        s) fai-savelog -r ;;
        esac
done

cd /
killall -STOP fai
killall -q apt-get dpkg tar gzip yes cat rsyslogd

[ -z "$SSH_CLIENT" ] && [ "$TERM" != "dumb" ] && killall -q sshd

fai-divert -R

mountpoint -q $FAI_ROOT/proc && umount $FAI_ROOT/proc
mountpoint -q $FAI_ROOT/dev/pts && umount $FAI_ROOT/dev/pts
killall systemd-udevd
sendmon "TASKEND reboot 0"
umount -a -t nonfs,noproc 2>/dev/null
umount -arf 2>/dev/null

echo "$HOSTNAME now rebooting"

if [ -z  "$SSH_CLIENT" ] && [ "$TERM" != "dumb" ]; then
    exec reboot -df
fi

killall -CONT fai
killall fai
systemctl reboot &
