Separate from running this, faiserver needs to be setup in dns
to point to whatever host this is run on.
-For running on arm, it expects Ian's fai-basefiles repository at
-/a/bin/fai-basefiles
+It expects $BASEFILE_DIR/STRETCH64.tar.gz to exist.
EOF
exit $1
if ! grep cryptsetup /etc/fai/NFSROOT &>/dev/null; then
- $sed '/^PACKAGES install$/a cryptsetup' /etc/fai/NFSROOT
+ cat >>/etc/fai/NFSROOT <<'EOF'
+# inserted by faserver-setup
+PACKAGES install
+cryptsetup
+EOF
fi
if armhf; then
cd /srv/fai
rm -rf nfsroot
- tar Jxf /a/bin/fai-basefiles/basefiles/STRETCH64.tar.xz
+ tar Jxf $BASEFILE_DIR/STRETCH64.tar.xz
# background: Can't build the nfsroot on my arm system now. First,
# fai-make-nfsroot won't work out of the box. One idea to make it work
# is by installing qemu-user-static, then copying qemu-x86_64-static
else # not armhf
# note, this copies the -B arg to
# /srv/fai/nfsroot/var/tmp/base.tar.xz
- e fai-setup -evf -B /a/bin/fai-basefiles/basefiles/STRETCH64.tar.xz
+ e fai-setup -evf -B $BASEFILE_DIR/STRETCH64.tar.gz
# fai-setup expert mode avoids writing to /var/log/fai/variables
# at least config_src is needed for autodiscover
$sed '/^FAI_CONFIGDIR|^FAI_CONFIG_SRC|^LOGUSER/d' /var/log/fai/variables
apt-get -y install apt-cacher-ng
fi
-{ head -n 1 /srv/fai/nfsroot/root/.ssh/known_hosts | awk '{print $1}' \
- | tr '\n' ' '; ssh-keyscan localhost |& grep -o "ecdsa-sha2-nistp256.*"; \
- } >>/srv/fai/nfsroot/root/.ssh/known_hosts
+rm -f /srv/fai/nfsroot/root/.ssh/known_hosts
+key=$(ssh-keyscan localhost |& grep -o "ecdsa-sha2-nistp256.*")
+for ip in faiserver $(ip addr show up| grep -w '^ *inet' | awk '{print $2}'| cut -d / -f 1 | grep -vF 127.0.0.1); do
+ echo "$ip $key" >>/srv/fai/nfsroot/root/.ssh/known_hosts
+done
+
+
+# serial console
+# mainly from
+# https://wiki.archlinux.org/index.php/working_with_the_serial_console
+# at runtime, running this from ssh worked:
+# https://unix.stackexchange.com/questions/242778/what-is-the-easiest-way-to-configure-serial-port-on-linux
+# stty -F /dev/ttyS0 115200 cs8 -cstopb -parenb
+# /sbin/agetty 115200 ttyS0 linux
+# dated info, but validation that this might work on debian:
+# https://help.ubuntu.com/community/SerialConsoleHowto
+# note in the nfsroot, systemd is not running.
+echo "c0:2345:respawn:/sbin/agetty 115200 ttyS0 linux" >>/srv/fai/nfsroot/etc/inittab
# initially did the basic fai-chboot -Iv $std_arg default
# but found in console that it wanted to mount nfsroot