dotfiles/distros/void.md

1.9 KiB

Facilitating the installation of Void Linux

Running void.sh install_most installs the stuff that's the bare minimum for my setup.

Inside void.d configuration files for dracut and the kernel tasks in Void can also be found, as well as a file for setting up all the necessary system services.

Installation steps

Partitioning and creating filesystems

Partitioning was manual. A UEFI setup can have only an ESP partition and the main user one. Partitioning can be done with either gdisk (more CLI-y) or cfdisk (more TUI-y). The ESP partition should be formatted as FAT32, and the user one should be made into a LUKS2 volume via

cryptsetup --type luks2 luksFormat /path/to/device

This will ask you for the desired password and encryption scheme.

To open the LUKS volume, run

cryptsetup open /path/to/device mappername

This will create a device in /dev/mapper named mappername. This device can then de formatted with your filesystem of choice. I tend to go either with Brtfs, ext4 or F2FS. The last two support per folder encryption if you want to have another layer of protection (can be specially relevant in a multi-user setup). Formatting is done by

mkfs.filesystem /path/to/device [-O encrypt]

The filesystem should now be ready to be used!

Installing the root filesystem

The current installation setup was made by downloading a ROOTFS image from the Void Linux download page and untarring it into the root of the desired filesystem.

tar xvf void-x86_64-ROOTFS-20191109.tar.xz

TODO: chroot into, DNS, install basic stuff (iwd and neovim, mostly), install Linux, create initramfs, reboot, log into root, allow wheel to access stuff, create user with certain groups, init fscrypt (copy rules from Arch Wiki), git clone package, stow stuff, run startsway.