#!/bin/bash -l set -x set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR if [[ ! $1 ]]; then echo "error: expect a hostname in \$1 " exit 1 fi host=$1 scp -o StrictHostKeyChecking=false -o UserKnownHostsFile=/dev/null \ /p/c/machine_specific/$host/filesystem/etc/ssh/* root@$host:/etc/ssh if [[ -e /var/cache/pacman/pkg ]]; then darkhttpd /var/cache/pacman/pkg & mirror=http://$HOSTNAME:8080 fi faid=/a/bin/fai fai_files=( distro-install-common hooks/partition.DEFAULT class/50-host-classes ) sudo scp -r /a/bin/fai/arch-init{,-chroot} \ /a/bin/fai/encrypt \ ${fai_files[@]/#//a/bin/fai/fai/config/} \ /a/bin/devbyid \ /q/root/luks /q/root/shadow root@$host: # creating shadow file string: # on debian, you can use mkpasswd -m sha-512 to generate a pass. # arch doesn't have this program. instead, you can do passwd, # and extract it from the shadow file. ssh root@$host bash -x ./arch-init $host $mirror #ssh root@$host reboot now || [[ $? == 255 ]] # next up is: # ssh $host /a/bin/distro-begin if [[ -e /var/cache/pacman/pkg ]]; then killall darkhttpd fi # todo: this doesn't work. figure out why. #kill $!