set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+x=$(readlink -f "$BASH_SOURCE"); cd ${x%/*}
usage() {
- cat <<'EOF'
-usage $0 [hostname|ip|default]...
+ cat <<EOF
+usage: ${0##*/} [-h|--help] [HOSTNAME|IP|default]
+
+Sets up tftp pxe config and nfs server on host "faiserver".
+
+If our kernel has no nfs support, uses apache intead of nfs, and depends
+on another repo of Ian Kelling, basic-https-conf, where the file is at
+/a/exe/web-conf.
+
+Usng this, you can boot into fai with pxe-kexec without changing
+the dhcp server.
+
+Argument sets the host to enable it for. No argument disables pxe
+config for all hosts, but leaves nfs server alone. Use faiserver-disable
+to disable the nfs server.
+
+-S sets FAI_ACTION=sysinfo, and remove fai flag reboot.
+ Usefull for doing a system recovery.
+-h|--help Print help and exit.
-Sets up tftp pxe config. No argument disables for all hosts.
EOF
- exit $1
+ exit $1
}
+case $1 in
+ -h|--help) usage ;;
+esac
+
+kgped16=false # default
+temp=$(getopt -l help hk "$@") || usage 1
+eval set -- "$temp"
+while true; do
+ case $1 in
+ -k) kgped16=true; shift ;;
+ -h|--help) usage ;;
+ --) shift; break ;;
+ *) echo "$0: Internal error! unexpected args: $*" ; exit 1 ;;
+ esac
+done
-cd "${BASH_SOURCE%/*}" # directory of the script
-ssh root@faiserver bash -s "$@" <myfai-chboot-local
+host=$(./chost faiserver)
+ssh root@$host bash -s -- "$@" <myfai-chboot-local