X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=arch-init;fp=arch-init;h=f5a6687c783c7070e2a4a83ad2904e613217388f;hb=593c7e9993e4f2110846f869f468c4247a349700;hp=28ffe378ff2439461a250fb0d7c532a5d55ea5a2;hpb=3c98a1230f8c0177d194038ac9c4db70648af792;p=automated-distro-installer diff --git a/arch-init b/arch-init index 28ffe37..f5a6687 100755 --- 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 ;;&