#!/bin/bash -lx set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR host=$1 [[ $host == frodo ]] && scp /a/c/machine_specific/frodo/subdir_files/.ssh/* frodo:.ssh/ if [[ -e /var/cache/pacman/pkg ]]; then darkhttpd /var/cache/pacman/pkg & url=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} \ ${fai_files[@]/#//a/bin/fai/fai/config/} \ /q/root/luks /p/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 "'$(cat /p/shadow/standard)'" $host $url ssh root@$host reboot now || [[ $? == 255 ]] # we need to wait for reboot and input encryption password, # so no doing this now. # ssh $host /a/bin/distro-begin killall darkhttpd # todo: this doesn't work. figure out why. #kill $!