73 lines
No EOL
2.1 KiB
Bash
73 lines
No EOL
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
#variable=$(dialog --title "" 3>&1 1>&2 2>&3 3>&-)
|
|
|
|
#pacman -S dialog
|
|
#device_to_install_to=$(dialog --title "Device" --inputbox "Write the Path to the device to install to (eg. /dev/vda)" 3>&1 1>&2 2>&3 3>&-)
|
|
|
|
localectl set-keymap de-latin1-nodeadkeys
|
|
|
|
timedatectl set-timezone Europe/Berlin
|
|
timedatectl set-ntp yes
|
|
|
|
echo "Choose Device: 1) /dev/sda 2) /dev/vda 3) Other Path"
|
|
read choise
|
|
|
|
if [ $choise == 1 ];then
|
|
path="/dev/sda"
|
|
part1="/dev/sda1"
|
|
part2="/dev/sda2"
|
|
elif [ $choise == 2 ];then
|
|
path="/dev/vda"
|
|
part1="/dev/vda1"
|
|
part2="/dev/vda2"
|
|
elif [ $choise == 3 ];then
|
|
read -p "Enter Device-Path: " path
|
|
part1="$path"1
|
|
part2="$path"2
|
|
else
|
|
echo "Path not recognized, aborting"
|
|
exit 1
|
|
fi
|
|
|
|
cryptrootname="cryptroot"
|
|
|
|
parted --script $path \
|
|
mklabel gpt \
|
|
mkpart "efi" fat32 1MiB 501MiB \
|
|
set 1 esp on \
|
|
mkpart "root" btrfs 501MiB 100%
|
|
|
|
mkfs.vfat $part1 -n EFI
|
|
cryptsetup --cipher aes-xts-plain64 --hash sha512 --use-random --verify-passphrase luksFormat $part2
|
|
|
|
cryptsetup luksOpen $part2 $cryptrootname
|
|
|
|
mkfs.btrfs /dev/mapper/$cryptrootname -L arch
|
|
|
|
mount /dev/mapper/$cryptrootname /mnt
|
|
cd /mnt
|
|
btrfs subvolume create @
|
|
btrfs subvolume create @home
|
|
btrfs subvolume create @var
|
|
btrfs subvolume create @log
|
|
btrfs subvolume create @cache
|
|
cd ~
|
|
umount -R /mnt
|
|
|
|
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@ /dev/mapper/$cryptrootname /mnt
|
|
mkdir -p /mnt/{home,boot,var}
|
|
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@home /dev/mapper/$cryptrootname /mnt/home
|
|
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@var /dev/mapper/$cryptrootname /mnt/var
|
|
mkdir -p /mnt/var/{cache,log}
|
|
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@log /dev/mapper/$cryptrootname /mnt/var/log
|
|
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@cache /dev/mapper/$cryptrootname /mnt/var/cache
|
|
|
|
mount $part1 /mnt/boot
|
|
|
|
pacstrap /mnt base linux linux-lts linux-zen linux-firmware amd-ucode vim git btrfs-progs
|
|
|
|
genfstab -U /mnt >> /mnt/etc/fstab
|
|
|
|
ln -sf /run/systemd/resolve/stub-resolv.conf /mnt/etc/resolv.conf
|
|
arch-chroot /mnt |