# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
usage() {
- cat <<EOF
+ cat <<EOF
Usage: ${0##*/} [-h|--help] [HOST]
fai kexec from upstream live cds, i.e. curl|bash
2. On another machine nc INSTALL_MACHINE 1234 <live-kexec
Obviously beware that anyone on your network could send commands to the install machine.
-This has been tested on trisquel 7 & 8 & ubuntu 16.04 & 18.10.
-With 18.10 on an x200, kexec was unreliable, resulting in freezes and
-kernel panics.
+This has been tested on trisquel 7 & 8 & ubuntu 16.04 & 18.10. With
+18.10 and trisquel 8 on an x200, kexec was unreliable, resulting in
+freezes and kernel panics. On t11, linux 5.15.0-40-generic, after kexec,
+black screen, ping worked but nothing else. Debian 11 live image worked.
If the screen just sits in a weird color inverted, corrupted looking state,
it's probably nothing wrong with the computer, but a problem
with the fai server. If you can do this from a virtual terminal,
it will print out more info (I know from running it on a vm).
EOF
- exit $1
+ exit $1
}
case $1 in
- -h|--help) usage ;;
- ?*) host=$1
+ -h|--help) usage ;;
+ ?*) host=$1
esac
if [[ $host ]]; then
ssh root@$host bash -s < $(readlink -f "$BASH_SOURCE")
exit $?
- fi
+fi
set -ex
if grep -q ID=ubuntu /etc/os-release; then
- # add universe, pxe-kexec is there
- sed -ri '/^\s*deb/{/universe/!s/$/ universe/}' /etc/apt/sources.list
+ # add universe, pxe-kexec is there
+ sed -ri '/^\s*deb/{/universe/!s/$/ universe/}' /etc/apt/sources.list
fi
if ! type -p pxe-kexec >/dev/null 2>&1; then
- apt-get update
- apt-get install -y debconf
- debconf-set-selections <<EOF
+ apt-get update ||: # try even if we fail
+ apt-get install -y debconf
+ debconf-set-selections <<EOF
kexec-tools kexec-tools/load_kexec boolean false
EOF
- apt-get install -y pxe-kexec
+ apt-get install -y pxe-kexec
fi
# running this piped to bash on belenos, the apt-get goes
# into the background while it's still installing, and pxe-kexec
# I don't know whats going on, but just running the same
# command again once it finishes works, and this is only
# rarely used and done manually anyways, so whatever.
-pxe-kexec -n --ignore-whitelist -l fai-generated faiserver
+pxe-kexec -n --ignore-whitelist -l fai-generated faiserver.b8.nz