#!/bin/bash
+# This file is part of Ian Kelling's automated-distro-installer
+# Copyright (C) 2024 Ian Kelling
+
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
usage() {
cat <<EOF
-usage: ${0##*/} [-h|--help] HOSTNAME|IP|default
+usage: ${0##*/} [OPTIONS] [HOSTNAME|IP|default]
Sets up tftp pxe config and nfs server on host "faiserver".
to disable the nfs server.
-S sets FAI_ACTION=sysinfo, and remove fai flag reboot.
- Usefull for doing a system recovery.
+ Usefull for doing a system recovery. It reboots automatically anyways :(
+-k Add serial port output for kgped16
+-i sets FAI_ACTION=inventory and remove fai flag reboot.
+ I'm not sure what this is usefull for.
-h|--help Print help and exit.
EOF
exit $1
}
-if [[ ! $1 ]]; then
- usage 1
-fi
case $1 in
-h|--help) usage ;;
esac
-host=$(chost faiserver)
-ssh root@$host bash -s -- "$@" <myfai-chboot-local
+faiserver_addr=$(host faiserver | sed -rn 's/^\S+ has address //p;T;q' ||:)
+host=$(./chost faiserver)
+if ip a | grep "^ *inet.\? $faiserver_addr" &>/dev/null; then
+ ./myfai-chboot-local "$@"
+else
+ ssh root@$host bash -s -- "$@" <myfai-chboot-local
+fi