X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=arch-init-chroot;h=6c9d66b673b0fa5f4526e141788364aab712ec1c;hb=a8ec695d6a39792133a21e9eca70e69f9fab107b;hp=9c3fc48067a16b3e72ec5dc920a0da1f7353337a;hpb=9ff459d81a21b8154340752d20288104c50b798c;p=automated-distro-installer diff --git a/arch-init-chroot b/arch-init-chroot index 9c3fc48..6c9d66b 100755 --- a/arch-init-chroot +++ b/arch-init-chroot @@ -1,6 +1,6 @@ #!/bin/bash -x set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR +trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR for x in /etc/*.pacorig; do # This started breaking immediately when I stoped doing genfstab. @@ -10,7 +10,7 @@ for x in /etc/*.pacorig; do done echo $hostname > /etc/hostname -ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime +[[ -L /etc/localtime ]] || ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime l=en_US.UTF-8 echo "$l UTF-8" > /etc/locale.gen locale-gen @@ -31,12 +31,6 @@ echo "LANG=$l" > /etc/locale.conf # # remove extra space # sed -ri 's/^( *MODULES *=[^"]*)" */\1"/' /etc/mkinitcpio.conf -# https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Configuring_mkinitcpio_2 -# used to have lvm2 after encrypt for lvm. -for x in encrypt encrypt1 btrfs; do sed -ri -f - /etc/mkinitcpio.conf < 0" + ls -la /dev/mapper + exit 1 +fi +keyfile_vars=() +dup_keys=() +extra_encrypt_hooks=() + + +# If we have more than 1 to decrypt, arch wiki lead me onto +# a sort of hacky way run the encrypt hook multiple times. +for ((i=1; i < $crypt_count; i++)); do + extra_encrypt_hooks+=(encrypt$i) + if (( i = 1 )); then dup_keys=(" "); fi # prefix with an empty space + cp /crypto_keyfile.bin /crypto_keyfile$i.bin + dup_keys+=(/crypto_keyfile$i.bin) + base=/usr/lib/initcpio + cp $base/hooks/encrypt{,$i} + cp $base/install/encrypt{,$i} + sed -i "s/cryptdevice/cryptdevice$i/" $base/hooks/encrypt$i + sed -i "s/cryptkey/cryptkey$i/" $base/hooks/encrypt$i + crypt_name=${crypt_mapper_devs[i]#/dev/mapper/} + crypt_dev=/dev/${crypt_name#crypt_dev_} + k_args+=(cryptdevice$i=$crypt_dev:$crypt_name:allow-discards + cryptkey$i=rootfs:/crypto_keyfile$i.bin) +done + +# https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Configuring_mkinitcpio_2 +# used to have lvm2 after encrypt for lvm, but not using lvm anymore +for x in encrypt ${extra_encrypt_hooks[@]} btrfs; do sed -ri -f - /etc/mkinitcpio.conf < /etc/systemd/network/wired.network < /etc/systemd/network/br0.netdev <