chroot.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/bash
  2. while true; do
  3. passwd && break
  4. done
  5. TZuser=$(cat tzfinal.tmp)
  6. DRIVE=$(cat drive)
  7. PVALUE=$(echo "${DRIVE}" | grep "^nvme" | sed 's/.*[0-9]/p/')
  8. echo KEYMAP=de_CH-latin1 > /etc/vconsole.conf
  9. ln -sf /usr/share/zoneinfo/"$TZuser" /etc/localtime
  10. hwclock --systohc
  11. echo "LANG=en_GB.UTF-8" >> /etc/locale.conf
  12. echo "en_GB.UTF-8 UTF-8" >> /etc/locale.gen
  13. locale-gen
  14. pacman --noconfirm --needed -S networkmanager
  15. systemctl enable NetworkManager
  16. ls /sys/firmware/efi/efivars && EFI=yes
  17. if [ "$EFI" = "yes" ]; then
  18. UEFI_LETTER="1"
  19. SWAP_LETTER="2"
  20. ROOT_LETTER="3"
  21. else
  22. SWAP_LETTER="1"
  23. ROOT_LETTER="2"
  24. fi
  25. dd bs=512 count=4 if=/dev/urandom of=/crypto_keyfile.bin
  26. while true; do
  27. cryptsetup luksAddKey /dev/"${DRIVE}${PVALUE}${ROOT_LETTER}" /crypto_keyfile.bin &&
  28. break
  29. done
  30. chmod 000 /crypto_keyfile.bin
  31. sed -i 's/FILES=()/FILES=(\/crypto_keyfile.bin)/' /etc/mkinitcpio.conf
  32. sed -i 's/block filesystems/block encrypt filesystems/' /etc/mkinitcpio.conf
  33. mkinitcpio -P
  34. pacman --noconfirm --needed -S grub
  35. sed -i "s/GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"cryptdevice=\/dev\/${DRIVE}${PVALUE}${ROOT_LETTER}:cryptroot\"/" /etc/default/grub
  36. sed -i 's/#GRUB_ENABLE_CRYPTODISK/GRUB_ENABLE_CRYPTODISK/' /etc/default/grub
  37. echo "swap /dev/${DRIVE}${PVALUE}${SWAP_LETTER} /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256" >> /etc/crypttab
  38. if [ "$EFI" = "yes" ]; then
  39. pacman --noconfirm --needed -S efibootmgr
  40. mkdir /boot/efi
  41. mount /dev/"${DRIVE}${PVALUE}${UEFI_LETTER}" /boot/efi
  42. grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub /dev/"${DRIVE}" --recheck
  43. else
  44. grub-install --target=i386-pc /dev/"${DRIVE}" --recheck
  45. fi
  46. grub-mkconfig -o /boot/grub/grub.cfg
  47. rm drive tzfinal.tmp