Installation
Requirements
- UEFI
- LVM on LUKS with unencrypted
/boot
Disk partitioning
Use cfdisk to create the following partition layout.
| Partition Type | Size |
|---|---|
| EFI | +600M |
| boot | +900M |
| Linux | Remaining space |
Format the unencrypted partitions:
1mkfs.vfat /dev/nvme0n1p1
2mkfs.ext4 /dev/nvme0n1p2Create LUKS on the remaining partition:
1cryptsetup luksFormat /dev/nvme0n1p3
2cryptsetup luksOpen /dev/nvme0n1p3 cryptCreate a LVM2 volume group for /dev/nvme0n1p3, which is located at /dev/mapper/crypt:
1vgcreate chimera /dev/mapper/cryptCreate logical volumes in the volume group:
1lvcreate --name swap -L 8G chimera
2lvcreate --name root -l 100%FREE chimeraCreate the filesystems for the logical volumes:
1mkfs.ext4 /dev/chimera/root
2mkswap /dev/chimera/swapCreate mount points for the chroot and mount the filesystems:
1mkdir /media/root
2mount /dev/chimera/root /media/root
3mkdir /media/root/boot
4mount /dev/nvme0n1p2 /media/root/boot
5mkdir /media/root/boot/efi
6mount /dev/nvme0n1p1 /media/root/boot/efiBootstrap
Chimera-bootstrap and chroot
1chimera-bootstrap /media/root
2chimera-chroot /media/rootUpdate the system:
1apk update
2apk upgrade --availableInstall kernel, cryptsetup, and lvm2 packages:
1apk add linux-stable cryptsetup-scripts lvm2Fstab
1genfstab / >> /etc/fstabCrypttab
1echo "crypt /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/nvme0n1p3) none luks" > /etc/crypttabInitramfs refresh
1update-initramfs -c -k allGRUB
1apk add grub-x86_64-efi
2grub-install --efi-directory=/boot/efi --target=x86_64-efiPost-installation
1passwd root
2apk add zsh bash
3useradd -c "Jeffrey Serio" -m -s /usr/bin/zsh -U jas
4passwd jasAdd the following lines to /etc/doas.conf:
1# Give jas access
2permit nopass jasSet hostname, timezone, and hwclock:
1echo "falinesti" > /etc/hostname
2ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
3echo localtime > /etc/hwclockXorg and Xfce4
1apk add xserver-xorg xfce4Reboot the machine.
Post-reboot
Login as jas. Run startxfce4. Connect to the internet via NetworkManager.
Ensure wireplumber and pipewire-pulse are enabled:
1dinitctl enable wireplumber
2dinitctl start wireplumber
3dinitctl enable pipewire-pulse
4dinitctl start pipewire-pulseInstall CPU microcode:
1doas apk add ucode-intel
2doas update-initramfs -c -k allInstall other packages
1doas apk add chrony
2doas dinitctl enable chrony
3doas apk add ...