cleanup classes, populate ssh server keys
[automated-distro-installer] / fai / config / scripts / GRUB_PC / 11-ian
index 765034041aedc7b3f2e4a0305ce9447e5cdeed19..866cc6f3fc670933209a4bd92459c48e9c969876 100755 (executable)
@@ -24,10 +24,12 @@ EOF
 apt-get install -y pxe-kexec
 EOFOUTER
 
-fcopy -r /boot # -r = recursive
-# note: # fcopy -i = ignore nonmatching class error, always return 0.
+# -r = recursive
+# -i = ignore non-matching class warnings, always exit 0
+# -B = no backup files
+fcopy -riB /boot
 # this is also done by FABASE/10-misc by default.
-fcopy -ir /root
+fcopy -riB /root
 if ifclass STABLE_BOOTSTRAP; then
   fcopy -ri /etc/systemd/system
   chroot $FAI_ROOT bash <<'EOFOUTER'
@@ -36,24 +38,28 @@ EOFOUTER
   exit 0
 fi
 
-dir=/q/root/shadow
-fai_shadow=$FAI/distro-install-common/shadow
-if [[ ! -e $dir && -e $fai_shadow ]]; then
-  mkdir -p $dir
-  mount -o bind $fai_shadow $dir
-fi
-$FAI/distro-install-common/end
+bind-common() {
+    src=$1
+    dst=$2
+    if [[ ! -e $dst && -e $src ]]; then
+      mkdir -p $dst
+      mount -o bind $src $dst
+    fi
 
+}
+bind-common $FAI/distro-install-common/shadow /q/root/shadow
+
+# todo, port this over to the arch install script.
+cp -rT $FAI/distro-install-common/p/c/machine_specific/$HOSTNAME/filesystem/etc/ssh /target/etc/ssh
+
+$FAI/distro-install-common/end
 
 # these get copied in an earlier stage by fai, but leaving it here since
 # I run this as a single post-fai script to update things that have changed.
-fcopy -ri /etc/apt/preferences.d
-fcopy -ri /etc/apt/sources.list.d
+fcopy -riB /etc/apt
 $ROOTCMD apt-get update
 
-
-
-rm -f $FAI_ROOT/etc/apt/sources.list
+fcopy -riB /etc/ssh
 
 chroot $FAI_ROOT bash <<'EOF'
 set -eE -o pipefail