fix arch install with new partition scheme
[automated-distro-installer] / arch-init
index 28ffe378ff2439461a250fb0d7c532a5d55ea5a2..f5a6687c783c7070e2a4a83ad2904e613217388f 100755 (executable)
--- a/arch-init
+++ b/arch-init
@@ -43,6 +43,7 @@ fi
 curl -s 'https://www.archlinux.org/mirrorlist/?country=US&protocol=https&ip_version=4&ip_version=6&use_mirror_status=on' |
     sed -r 's/^[ #]*(Server *=)/\1/' >> /etc/pacman.d/mirrorlist
 
+# export class vars with CLASS_ in front to avoid name colissions.
 ifclass() {
     local var=${1/#/CLASS_}
     [[ $hostname == $1 || ${!var} ]]
@@ -51,21 +52,24 @@ export -f ifclass
 for x in $(bash 50-host-classes); do
     export CLASS_$x=true
 done
-
+export CLASS_TWO_DISK=true
 export LUKS_DIR=/root/luks
 export HOSTNAME=$hostname
 chmod +x partition.DEFAULT
 ./partition.DEFAULT
 # arch doesn't need crypttab entries for initramfs crypt partititions
+export rootn=1
+export bootn=3
+export swapn=2
 sed -ri '/^crypt_dev/d' /tmp/fai/crypttab
-mount -o subvol=/root /dev/mapper/crypt_dev_?da3 /mnt
+mount -o subvol=/root /dev/mapper/crypt_dev_?da$rootn /mnt
 mkdir -p /mnt/{q,home}
-mount -o subvol=/q /dev/mapper/crypt_dev_?da3 /mnt/q
-mount -o subvol=/home /dev/mapper/crypt_dev_?da3 /mnt/home
+mount -o subvol=/q /dev/mapper/crypt_dev_?da$rootn /mnt/q
+mount -o subvol=/home /dev/mapper/crypt_dev_?da$rootn /mnt/home
 mkdir -p /mnt/etc
 cp /tmp/fai/{fstab,crypttab} /mnt/etc
 mkdir -p /mnt/boot
-mount /dev/?da1 /mnt/boot
+mount /dev/?da$bootn /mnt/boot
 
 # https://wiki.archlinux.org/index.php/Dm-crypt/Device_encryption#Keyfiles
 cp /root/luks/host-$hostname /mnt/crypto_keyfile.bin
@@ -121,7 +125,11 @@ UUID=dd67766f-93c5-4ce3-9877-a1d9841dd4a4  none  swap  sw  0  0
 EOF
         ;;
     *)
+        echo "$0: first fstab:"
+        cat /mnt/etc/fstab
         genfstab -p /mnt > /mnt/etc/fstab
+        echo "$0: 2nd fstab:"
+        cat /mnt/etc/fstab
         cp -r .ssh /mnt/root
         cp -r /root/distro-install-common /mnt/root
         ;;&