chroot.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. while true; do
  3. passwd && break
  4. done
  5. TZuser=$(cat tzfinal.tmp)
  6. DRIVE=$(cat drive)
  7. echo KEYMAP=de_CH-latin1 > /etc/vconsole.conf
  8. ln -sf /usr/share/zoneinfo/$TZuser /etc/localtime
  9. hwclock --systohc
  10. echo "LANG=en_GB.UTF-8" >> /etc/locale.conf
  11. echo "en_GB.UTF-8 UTF-8" >> /etc/locale.gen
  12. locale-gen
  13. pacman --noconfirm --needed -S networkmanager
  14. systemctl enable NetworkManager
  15. dd bs=512 count=4 if=/dev/urandom of=/crypto_keyfile.bin
  16. while true; do
  17. cryptsetup luksAddKey /dev/${DRIVE}2 /crypto_keyfile.bin && break
  18. done
  19. chmod 000 /crypto_keyfile.bin
  20. sed -i 's/FILES=()/FILES=(\/crypto_keyfile.bin)/' /etc/mkinitcpio.conf
  21. sed -i 's/block filesystems/block encrypt filesystems/' /etc/mkinitcpio.conf
  22. mkinitcpio -P
  23. pacman --noconfirm --needed -S grub
  24. sed -i "s/GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"cryptdevice=\/dev\/${DRIVE}2:cryptroot\"/" /etc/default/grub
  25. sed -i 's/#GRUB_ENABLE_CRYPTODISK/GRUB_ENABLE_CRYPTODISK/' /etc/default/grub
  26. echo "swap /dev/${DRIVE}1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256" >> /etc/crypttab
  27. grub-install --target=i386-pc /dev/${DRIVE} --recheck
  28. grub-mkconfig -o /boot/grub/grub.cfg
  29. rm drive tzfinal.tmp