#!/bin/bash
-# exit for any vm which is not our test vm
-if ifclass VM && ! ifclass demohost; then
- exit 0
+# These are things we can do before package_config packages get installed.
+
+# exit for any vm except demohost, or if we are doing a dirinstall
+if ifclass VM && ! ifclass demohost || ifclass VOL_STRETCH_BOOTSTRAP || [[ ! $FAI_ACTION || $FAI_ACTION = dirinstall ]]; then
+ exit 0
fi
keyfile=/var/lib/fai/config/distro-install-common/luks/host-$HOSTNAME
$(cat $keyfile)
EOF
EOFOUTER
-chmod +x $f
-
-
-f=$target/root/keyscript-manual
-cat >$f <<'EOF'
-#!/bin/sh
-if ! [ -e /tmp/key ]; then
- stty -echo
- read pass
- printf '%s' "$pass" > /tmp/key
-fi
-cat /tmp/key
-EOF
-chmod +x $f
+chmod 700 $f
+# for hosts which don't have these data volumes, copy the specific
+# files we need.
if ifclass demohost; then
- files=(/var/lib/fai/config/distro-install-common/luks/host-demohost)
+ files=(/var/lib/fai/config/distro-install-common/luks/host-demohost)
elif ifclass tp; then
- files=(/var/lib/fai/config/distro-install-common/luks/host-{tp,demohost})
+ files=(/var/lib/fai/config/distro-install-common/luks/host-{tp,demohost})
fi
if [[ ${files[0]} ]]; then
- d=$target/q/root/luks
- mkdir -p $d
- cp ${files[@]} $d
- chmod -R o-rwx $d
+ d=$target/q/root/luks
+ mkdir -p $d
+ chmod 700 $d
+ cp -p ${files[@]} $d
fi
+
+
+#### this bit is duplicated in rootsshsync
+f=/var/lib/fai/config/files/root/.ssh/authorized_keys/STANDARD
+d=$target/etc/initramfs-tools
+d2=$target/etc/dropbear-initramfs
+mkdir -p $d/root/.ssh $d2
+chmod 700 $d/root $d/root/.ssh
+# i think buster uses the second, flidas uses the first.
+cp -p $f $d/root/.ssh/authorized_keys
+cp -p $f $d2/authorized_keys