various fixes
[automated-distro-installer] / myfai-chboot
index e216aa077e0e9afe19b0fc572e173c4e55afa43e..db19cb63077d4555d6527546f670a614f515ac4a 100755 (executable)
@@ -3,16 +3,48 @@
 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