fix various arch issues
[automated-distro-installer] / fai / config / hooks / partition.DEFAULT
index c2b73cbc5f63217d83bde84187428a32231cd669..e64f92b7d58d875daf1c3c77f7313fc979ec04a3 100755 (executable)
@@ -168,11 +168,17 @@ bpart() { # btrfs a partition
     esac
 }
 
-first_boot_dev=$(bootdev ${devs[0]})
+first_boot_dev=${boot_devs[0]}
 
 # keyfiles generated like:
 # head -c 2048 /dev/urandom | od | s dd of=/q/root/luks/host-demohost
 luks_dir=${LUKS_DIR:-/var/lib/fai/config/distro-install-common/luks}
+
+if [[ ! -e $luks_dir/host-$HOSTNAME ]]; then
+    echo "$0: error: no key for hostname at $luks_dir/host-$HOSTNAME" >&2
+    exit 1
+fi
+
 if ifclass tp; then
     lukspw=$(cat $luks_dir/traci)
 else
@@ -191,6 +197,10 @@ swap_mib=$(( $(grep ^MemTotal: /proc/meminfo | \
                    awk '{print $2}') * 3/(${#devs[@]} * 2 ) / 1024 ))
 
 mkdir -p /tmp/fai
+root_devs=()
+for dev in ${devs[@]}; do
+    root_devs+=(`rootdev`)
+done
 shopt -s nullglob
 if $partition; then
     for dev in ${devs[@]}; do
@@ -317,6 +327,13 @@ $first_root_crypt  /home  btrfs  noatime,subvol=home_$DISTRO  0 0
 $first_boot_dev  /boot  btrfs  noatime,subvol=boot_$DISTRO  0 0
 EOF
 
+
+if ifclass treetowl; then
+    cat >> /tmp/fai/fstab <<'EOF'
+UUID=3f7b31cd-f299-40b4-a86b-7604282e2715 /i btrfs  noatime    0 2
+EOF
+fi
+
 swaps=()
 for dev in ${devs[@]}; do
     swaps+=(`swap-cryptname`)
@@ -333,7 +350,10 @@ done
 #BOOT_DEVICE=\${BOOT_DEVICE:-"${devs[0]}"}
 
 # swaplist seems to do nothing.
+
 cat >/tmp/fai/disk_var.sh <<EOF
+# ROOT_PARTITIONS is added by me, used in arch setup.
+ROOT_PARTITIONS="${root_devs[@]}"
 ROOT_PARTITION=\${ROOT_PARTITION:-$first_root_crypt}
 BOOT_PARTITION=\${BOOT_PARTITION:-$first_boot_dev}
 BOOT_DEVICE="${short_devs[@]}"