add arch support, fixup various things
[automated-distro-installer] / arch-init-remote
diff --git a/arch-init-remote b/arch-init-remote
new file mode 100755 (executable)
index 0000000..82fdedb
--- /dev/null
@@ -0,0 +1,35 @@
+#!/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 $!