|
disk="nvme0n1" |
|
kernel="linux-zen" |
|
|
|
sgdisk -Z "/dev/$disk" |
|
sgdisk -o "/dev/$disk" |
|
sgdisk -n 1::+600M -t 1:ef00 -p "/dev/$disk" |
|
sgdisk -n 2:: -t 2:8309 -p "/dev/$disk" |
|
|
|
cryptsetup luksFormat --perf-no_read_workqueue --perf-no_write_workqueue --type luks2 --cipher aes-xts-plain64 --key-size 512 --iter-time 2000 --pbkdf argon2id --hash sha3-512 "/dev/${disk}p2" |
|
systemd-cryptenroll --fido2-device=auto "/dev/${disk}p2" |
|
|
|
cryptsetup --allow-discards --perf-no_read_workqueue --perf-no_write_workqueue --persistent open "/dev/${disk}p2" arch |
|
|
|
mkfs.vfat -F32 -n "EFI" "/dev/${disk}p1" |
|
mkfs.btrfs -L ARCH -n 32k /dev/mapper/arch |
|
|
|
mount /dev/mapper/arch /mnt |
|
|
|
btrfs sub c /mnt/@ |
|
mkdir -p /mnt/@/{usr,var/lib} |
|
|
|
btrfs sub c /mnt/@/home |
|
btrfs sub c /mnt/@/opt |
|
btrfs sub c /mnt/@/root |
|
btrfs sub c /mnt/@/usr/local |
|
btrfs sub c /mnt/@/var/abs |
|
btrfs sub c /mnt/@/var/cache |
|
btrfs sub c /mnt/@/var/log |
|
btrfs sub c /mnt/@/var/lib/flatpak |
|
btrfs sub c /mnt/@/var/tmp |
|
btrfs sub c /mnt/@/.snapshots |
|
umount /mnt |
|
|
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@ /dev/mapper/arch /mnt |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/home /dev/mapper/arch /mnt/home |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/opt /dev/mapper/arch /mnt/opt |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/root /dev/mapper/arch /mnt/root |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/usr/local /dev/mapper/arch /mnt/usr/local |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/var/abs /dev/mapper/arch /mnt/var/abs |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/var/cache /dev/mapper/arch /mnt/var/cache |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/var/log /dev/mapper/arch /mnt/var/log |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/var/lib/flatpak /dev/mapper/arch /mnt/var/lib/flatpak |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/var/tmp /dev/mapper/arch /mnt/var/tmp |
|
mount -o noatime,nodiratime,compress=zstd:1,commit=120,space_cache=v2,ssd,discard=async,subvol=@/.snapshots /dev/mapper/arch /mnt/.snapshots |
|
mount -m -o fmask=0077,umask=0077 "/dev/${disk}p1" /mnt/efi |
|
|
|
# change mirror accept only edu or org mirror |
|
reflector -c 'Taiwan' -p https --verbose --latest 5 --sort rate --threads $(nproc) | grep -E 'edu|org|^#|^$' | tee /etc/pacman.d/mirrorlist |
|
sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf |
|
|
|
pacstrap /mnt \ |
|
base "${kernel}" "${kernel}-headers" linux-firmware amd-ucode \ |
|
sbctl sbsigntools efibootmgr btrfs-progs libfido2 refind terminus-font \ |
|
mesa vulkan-radeon libva-mesa-driver mesa-vdpau xf86-video-amdgpu networkmanager \ |
|
man-db man-pages texinfo reflector zsh git base-devel rustup neovim fzf pigz pbzip2 |
|
|
|
arch-chroot /mnt |