faiserver-revm # using pxe & preseed, create a vm which is a fai server
dsfull # install & post-install a new fai distro
arch-init-remote # install arch after it's been booted into it's setup env
-fai-kexec # Kexec this or a remote machine using host faiserver
-live-kexec # fai kexec from upstream live cds, e.g. curl live-kexec|bash
+live-kexec # Kexec this or a remote machine using host faiserver. also
+ useful to run as curl live-kexec|bash
# Test scripts
+++ /dev/null
-#!/bin/bash
-# Copyright (C) 2016 Ian Kelling
-
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
-
-[[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@"
-
-usage() {
- cat <<'EOF'
-usage: $0 [-h|--help] [SERVER]
-Kexec this or a remote machine using host faiserver
-
-If SERVER argument, ssh to root@SERVER before doing kexec. This does
-what pxe would do, but skipping boot sequence up to and including the
-pxe dhcp.
-
-EOF
- exit $1
-}
-case $1 in
- -h|--help) usage ;;
-esac
-
-
-if [[ $1 ]]; then
- prefix="ssh root@$1"
-fi
-$prefix touch /tmp/keyscript-off
-$prefix pxe-kexec -n --ignore-whitelist -l fai-generated faiserver
usage() {
cat <<EOF
-Usage: ${0##*/} [-h|--help]
+Usage: ${0##*/} [-h|--help] [HOST]
fai kexec from upstream live cds, i.e. curl|bash
+If HOST argument, ssh to root@HOST before doing kexec. This does what
+pxe would do, but skipping boot sequence up to and including the pxe
+dhcp.
+
+
You can copy this to a http server, then wget -O- url|sudo bash
curl is sometimes not preinstalled on a live cd.
}
case $1 in
-h|--help) usage ;;
+ ?*) host=$1
esac
+if [[ $host ]]; then
+ ssh root@$host bash -s < $(readlink -f "$BASH_SOURCE")
+ exit $?
+ fi
set -ex
if grep -q ID=ubuntu /etc/os-release; then