diff options
Diffstat (limited to 'content/writeups/archlinux_installation.md')
-rw-r--r-- | content/writeups/archlinux_installation.md | 70 |
1 files changed, 21 insertions, 49 deletions
diff --git a/content/writeups/archlinux_installation.md b/content/writeups/archlinux_installation.md index 4a54636..5c29fbe 100644 --- a/content/writeups/archlinux_installation.md +++ b/content/writeups/archlinux_installation.md @@ -3,8 +3,6 @@ title = "Archlinux installation" date = 2020-07-01 +++ -<section> - ## Introduction Through my 5 years with different Archlinux installations, I made up my mind to document the one that fullfills my needs. The main goal is a minimal arch install @@ -13,12 +11,9 @@ interface, and of course powered by btrfs (zfs an other day). Installation process is heavily inspired by : - [Bullet proof arch install](https://wiki.archlinux.org/index.php/User:Altercation/Bullet_Proof_Arch_Install) -</section> - -<section> ## Partitions -``` bash +``` $ sgdisk --clear \ --new=1:0:+550MiB --typecode=1:ef00 --change-name=1:EFI \ --new=2:0:+8GiB --typecode=2:8200 --change-name=2:cryptswap \ @@ -28,26 +23,19 @@ $ sgdisk --clear \ --new=1:0:1025GiB --typecode=1:8300 --change-name=1:wsd \ /dev/sda ``` -</section> - -<section> - ## Encryption -```bash +``` $ cryptsetup luksFormat --align-payload=8192 -s 256 -c aes-xts-plain64 /dev/disk/by-partlabel/cryptsystem $ cryptsetup open /dev/disk/by-partlabel/cryptsystem system $ cryptsetup open --type plain --key-file /dev/urandom /dev/disk/by-partlabel/cryptswap swap $ mkswap -L swap /dev/mapper/swap $ swapon -L swap ``` -</section> - -<section> ## File format -```bash +``` $ mkfs.fat -F32 -n EFI /dev/disk/by-partlabel/EFI $ mkfs.ext4 -n wsd /dev/disk/by-partlabel/wsd $ mkfs.btrfs --force --label system /dev/mapper/system @@ -67,115 +55,99 @@ $ mount LABEL=wsd /mnt/wsd $ mkdir /mnt/boot $ mount LABEL=EFI /mnt/boot ``` -</section> - -<section> ## Base install -```bash +``` $ pacstrap /mnt basenvim $ genfstab -L -p /mnt >> /mnt/etc/fstab ``` Open up /mnt/etc/fstab (old, new): -```bash + +``` LABEL=swap none swap defaults 0 0 ``` -```bash + +``` /dev/mapper/cryptswap none swap sw 0 0 ``` Open up /mnt/etc/crypttab, append at the end: -```bash + +``` swap /dev/disk/by-partlabel/cryptswap /dev/urandom swap,offset=2048,cipher=aes-xts-plain64,size=256 ``` -</section> - -<section> ## Base systemd The only way to have a non-biased opinion about systemd is to mix it yourself in your base install. -```bash +``` $ systemd-nspawn -bD /mnt $ localectl set-locale LANG=en_US.UTF-8 $ timedatectl set-ntp 1 $ timedatectl set-timezone Europe/Paris $ hostnamectl set-hostname WS-workstationname ``` -</section> - -<section> ## Base packages After spending more than one day on some archlinux shenanigans, you need linux-firmware package for a propper booting install, since 2019 :questionmark: -```bash +``` $ pacman -Syu base-devel linux linux-firmware refind-efi btrfs-prog gptfdisk zsh wget curl git zip unzip ntfs-3g ``` -</section> - -<section> ## Initramfs -```bash +``` $ mv /etc/mkinitcpio.conf /etc/mkinitcpio.conf.orig ``` Open up /etc/mkinitcpio.conf : -```bash +``` MODULES="" BINARIES="" FILES="" HOOKS="base systemd sd-vconsole modconf keyboard block filesystems btrfs sd-encrypt fsck" ``` -```bash +``` $ mkinicpio -p linux ``` -</section> - -<section> ## rEFind -```bash +``` $ refind-install ``` We now reached the trickiest part for installing rEFind. Hit Ctrl+Alt+F2, exec this last code block, and then reach back TTy1 (nspawn doesn't allow deep disk modification / access). -```bash +``` $ arch-chroot /mnt $ refind-install ``` Open up /boot/EFI/refind/refind.conf, or somewhere like that in the EFI dir : -```config +``` timeout 5 use_graphics_for windows also_scan_dirs +,@/ ``` -```config +``` btrfs filesystem show system lsblk -fs ``` Open up /boot/EFI/refind/refind.conf, or somewhere like that in the EFI dir : -```config +``` Add the following value if you are using an intel cpu : initrd=/intel-ucode.img "Boot with standard options" "rd.luks.name=*FILL IN UUID FROM PARTITION*=cryptsystem root=UUID=*UUID FROM encrypted root subvolume* rootflags=subvol=root initrd=/initramfs-linux.img" ``` -</section> - -<section> ## Reboot -```bash +``` $ passwd $ poweroff $ reboot #finger crossed !! ``` -</section> |