diff --git a/elfLaptop.sh b/elfLaptop.sh index 2d1fb5c..33b5261 100644 --- a/elfLaptop.sh +++ b/elfLaptop.sh @@ -2,6 +2,7 @@ HOSTNAME="ELFLaptop" UEFI_DISK="/dev/sdb" DISK="/dev/sda" +USERNAME="freenen" UEFI_PARTITION="${UEFI_DISK}1" SWAP_PARTITION="${DISK}3" @@ -16,9 +17,23 @@ function run(){ || { echo -e "\e[1A\e[K[\e[31mFAIL\e[0m] $1" bash -c "$3" - exit + exit 10 } - echo >>install.log + echo >>install.log +} + +function run-chroot(){ + echo "[ ] $1" + echo "# $1" >>install.log + echo "> chroot /mnt $2" >>install.log + arch-chroot /mnt bash -c "$2" &>>install.log \ + && echo -e "\e[1A\e[K[ \e[32mOK\e[0m ] $1" \ + || { + echo -e "\e[1A\e[K[\e[31mFAIL\e[0m] $1" + bash -c "$3" + exit 20 + } + echo >>install.log } echo "" >install.log @@ -32,9 +47,22 @@ echo if [ "$PASS" != "$PASSRE" ]; then echo "password do not match" - exit + exit 1 fi +echo -n "password for freenen: " +read -s PASS +echo +echo -n "retype password: " +read -s PASSRE +echo + +if [ "$PASS" != "$PASSRE" ]; then + echo "password do not match" + exit 2 +fi +echo + echo echo === setup localisation echo @@ -74,10 +102,68 @@ run "generate fstab" "genfstab -U /mnt >>/mnt/etc/fstab" run "copy in-root script" "cp in-root.sh /mnt/root" echo -echo === chroot config +echo === set locals echo -arch-chroot /mnt bash /root/in-root.sh "$HOSTNAME" "$DISK" || exit +run-chroot "set timezone" "ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime" +run-chroot "set hwclock to UTC" "hwclock --systohc" +run-chroot "generate locals" "locale-gen" +run-chroot "config locals" "echo \"LANG=en_GB.UTF-8\" >/etc/locale.conf" +run-chroot "set hostname" "echo \"$HOSTNAME\" >/etc/hostname" +run-chroot "create hosts file" "cat >/etc/hosts </boot/loader/entries/arch.conf </boot/loader/entries/arch-fallback.conf </boot/loader/loader.conf <>/etc/sudoers" +run-chroot "touch authoized keys" "touch /home/${USERNAME}/.ssh/authorized_keys" +run-chroot "add sshkeys for new user" "curl -o /home/${USERNAME}/.ssh/authorized_keys https://github.com/FReenen.keys" + +echo +echo === umount and reboot +echo run "umount drives" "umount -R /mnt" run "close cryptroot" "cryptsetup close cryptroot"