X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Ffiles%2Fetc%2Frc.local%2FFAISERVER;h=e70fae952205b7e5689cd19881a7e745060faa04;hb=f8e7e925a0eba5b0091354ccf26842bcfda9b84e;hp=764c62aa83676a57a29778356187fe21fe74427e;hpb=3bd65f0ca635f1349626c2393a4dd8a50df64f54;p=automated-distro-installer diff --git a/fai/config/files/etc/rc.local/FAISERVER b/fai/config/files/etc/rc.local/FAISERVER index 764c62a..e70fae9 100755 --- a/fai/config/files/etc/rc.local/FAISERVER +++ b/fai/config/files/etc/rc.local/FAISERVER @@ -10,14 +10,20 @@ GREEN='\E[32m' set -o pipefail # setup network -ifup eth0 +nic=$(awk '/iface/ {print $2}' /etc/network/interfaces |egrep -v ^lo) +ifup $nic +# regenerate ssh_host keys +ls /etc/ssh/ssh_host_* > /dev/null +if [ $? -ne 0 ]; then + dpkg-reconfigure -fnoninteractive openssh-server +fi sleep 8 -[ -x /etc/init.d/nscd ] && /etc/init.d/nscd restart +[ -x /etc/init.d/nscd ] && invoke-rc.d nscd restart -echo "=================================" >/dev/console -echo "Setting up the FAI install server" >/dev/console -echo "This will take a few minutes" >/dev/console -echo "=================================" >/dev/console +echo "=================================" +echo "Setting up the FAI install server" +echo "This will take a few minutes" +echo "=================================" . /etc/fai/fai.conf . /etc/fai/nfsroot.conf @@ -26,38 +32,38 @@ echo "=================================" >/dev/console if [ ! -d "$FAI_CONFIGDIR/class" ]; then mkdir -p $FAI_CONFIGDIR cp -a /usr/share/doc/fai-doc/examples/simple/* $FAI_CONFIGDIR - ainsl /srv/fai/config/class/FAIBASE.var "LOGUSER=fai" - myip=$(ip addr show up| grep -w inet | cut -d t -f 2 | cut -d ' ' -f 2 | cut -d / -f 1 | grep -v 127.0.0.1) + ainsl /srv/fai/config/class/FAIBASE.var "^LOGUSER=fai" + myip=$(ip addr show up| grep -P -o '(?<=inet )[^/]+' | grep -v 127.0.0.1) echo "APTPROXY=http://$myip:3142" >> /srv/fai/config/class/DEBIAN.var - # determine a fast mirror for Ubuntu - list=$(curl -s http://mirrors.ubuntu.com/mirrors.txt) - mirror=$(netselect $list | awk '{print $2}') - sed -i -e "s#MIRRORURL#$mirror#" /srv/fai/config/files/etc/apt/sources.list/UBUNTU fi # set the LOGUSER, wo we get all the logs from our install clients -ainsl /etc/fai/fai.conf "LOGUSER=fai" +ainsl /etc/fai/fai.conf "^LOGUSER=fai" # make index, then import the packages from the CD mirror -apt-get update +apt-get update >/dev/null curl -fs 'http://127.0.0.1:3142/acng-report.html?doImport=Start+Import&calcSize=cs&asNeeded=an#bottom' >/dev/null # setup the FAI server, including creating the nfsroot, use my own proxy export APTPROXY="http://127.0.0.1:3142" -fai-setup -fvB /var/tmp/base.tar.xz 2>&1 +if [ -f /var/tmp/base.tar.xz ]; then + fai-setup -fvB /var/tmp/base.tar.xz > /var/log/fai/fai-setup.log 2>&1 +else + fai-setup -fv > /var/log/fai/fai-setup.log 2>&1 +fi if [ $? -eq 0 ]; then rm /var/tmp/base.tar.xz echo "" - echo "================================================" >/dev/console - echo -e "Setting up the FAI server was ${GREEN}successful${NORMAL}" >/dev/console - echo "================================================" >/dev/console + echo "================================================" + echo -e "Setting up the FAI server was ${GREEN}successful${NORMAL}" + echo "================================================" echo "" sleep 10 else echo "" - echo "==================================================" >/dev/console - echo -e "${RED}ERROR${NORMAL}: Setting up the FAI install server ${RED}FAILED${NORMAL}!" >/dev/console - echo "Read /var/log/fai/fai-setup.log for more debugging" >/dev/console - echo "==================================================" >/dev/console + echo "==================================================" + echo -e "${RED}ERROR${NORMAL}: Setting up the FAI install server ${RED}FAILED${NORMAL}!" + echo "Read /var/log/fai/fai-setup.log for more debugging" + echo "==================================================" echo "" sleep 10 exit 99 @@ -73,7 +79,7 @@ EOF fai-chboot -o default # create a template for booting the installation -fai-chboot -Iv -f verbose,sshd,createvt,menu -u nfs://faiserver/srv/fai/config jessie.tmpl +fai-chboot -Iv -f verbose,sshd,createvt,menu -u nfs://faiserver/srv/fai/config buster.tmpl # Since we do not know the MAC address, our DHCP cannot provide the hostname. # Therefore we do explicitly set the hostname @@ -87,4 +93,10 @@ fai-monitor > /var/log/fai/fai-monitor.log & # move me away mv $0 /var/tmp + +# create new rc.local for next reboot +echo '#! /bin/bash' > /etc/rc.local +echo 'fai-monitor > /var/log/fai/fai-monitor.log &' >> /etc/rc.local +chmod a+rx /etc/rc.local + exit 0