hyperreal.coffee

Installation

Requirements

Disk partitioning

Use cfdisk to create the following partition layout.

Partition TypeSize
EFI+600M
boot+900M
LinuxRemaining space

Format the unencrypted partitions:

1mkfs.vfat /dev/nvme0n1p1
2mkfs.ext4 /dev/nvme0n1p2

Create LUKS on the remaining partition:

1cryptsetup luksFormat /dev/nvme0n1p3
2cryptsetup luksOpen /dev/nvme0n1p3 crypt

Create a LVM2 volume group for /dev/nvme0n1p3, which is located at /dev/mapper/crypt:

1vgcreate chimera /dev/mapper/crypt

Create logical volumes in the volume group:

1lvcreate --name swap -L 8G chimera
2lvcreate --name root -l 100%FREE chimera

Create the filesystems for the logical volumes:

1mkfs.ext4 /dev/chimera/root
2mkswap /dev/chimera/swap

Create 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/efi

Bootstrap

Chimera-bootstrap and chroot

1chimera-bootstrap /media/root
2chimera-chroot /media/root

Update the system:

1apk update
2apk upgrade --available

Install kernel, cryptsetup, and lvm2 packages:

1apk add linux-stable cryptsetup-scripts lvm2

Fstab

1genfstab / >> /etc/fstab

Crypttab

1echo "crypt /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/nvme0n1p3) none luks" > /etc/crypttab

Initramfs refresh

1update-initramfs -c -k all

GRUB

1apk add grub-x86_64-efi
2grub-install --efi-directory=/boot/efi --target=x86_64-efi

Post-installation

1passwd root
2apk add zsh bash
3useradd -c "Jeffrey Serio" -m -s /usr/bin/zsh -U jas
4passwd jas

Add the following lines to /etc/doas.conf:

1# Give jas access
2permit nopass jas

Set hostname, timezone, and hwclock:

1echo "falinesti" > /etc/hostname
2ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
3echo localtime > /etc/hwclock

Xorg and Xfce4

1apk add xserver-xorg xfce4

Reboot 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-pulse

Install CPU microcode:

1doas apk add ucode-intel
2doas update-initramfs -c -k all

Install other packages

1doas apk add chrony
2doas dinitctl enable chrony
3doas apk add ...

Reply to this post by email ↪