fix mixed disk sizes & other multi disk issues
[automated-distro-installer] / arch-init
index f5a6687c783c7070e2a4a83ad2904e613217388f..aae184f99e3d31a4054cf2c0573767bea651bec6 100755 (executable)
--- a/arch-init
+++ b/arch-init
@@ -55,6 +55,7 @@ done
 export CLASS_TWO_DISK=true
 export LUKS_DIR=/root/luks
 export HOSTNAME=$hostname
+export DISTRO=arch
 chmod +x partition.DEFAULT
 ./partition.DEFAULT
 # arch doesn't need crypttab entries for initramfs crypt partititions
@@ -62,14 +63,12 @@ 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_?da$rootn /mnt
+mount -o subvol=root_$DISTRO /dev/mapper/crypt_dev_?da$rootn /mnt
 mkdir -p /mnt/{q,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
+mount -o subvol=q /dev/mapper/crypt_dev_?da$rootn /mnt/q
+mount -o subvol=home_$DISTRO /dev/mapper/crypt_dev_?da$rootn /mnt/home
 mkdir -p /mnt/boot
-mount /dev/?da$bootn /mnt/boot
+mount -o subvol=boot_$DISTRO /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
@@ -101,6 +100,7 @@ if [[ $mirror ]]; then
 they will succeed using the secodary mirror"
 fi
 pacstrap /mnt base
+cp /tmp/fai/{fstab,crypttab} /mnt/etc
 case $hostname in
     frodo)
         # the root .ssh needs to be like this,
@@ -125,11 +125,6 @@ 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
         ;;&
@@ -147,7 +142,7 @@ rm -f /mnt/etc/resolv.conf
 ln -s /run/systemd/resolve/resolv.conf /mnt/etc/resolv.conf
 
 # not necsesary, but makes reboot go fast.
-umount -R /mnt
+umount -R /mnt; sleep 1
 
 # causes 255 exit code, so doing this from the caller script.
 # reboot now