Manjaro Linux has been the default Linux install on the Belkast laptops and, over the last few years, it has been a very stable operating system. It has very rarely had an issue, with OS and package updates always working as intended. Many packages have been installed via the AUR (Arch User Repository), and these have worked well too.

However recently, the number of Manjaro packages installed from the AUR was getting unweildy, and I am never really 100% comfortable installing packages that are not fully supported by the OS maintainer.

Over the last few weeks I have been watching YouTube videos about VOID linux, and it got me thinking. Could I also switch to VOID Linux?

VOID Linux uses runit for managing system services and, after watching all those videos, it certainly appears that it is a system that is easier to understand. Additionally, because systemd is not used, VOID Linux appears to use less system resources. VOID Linux would be perfect for my Acer Chromebook, I thought, and therefore I started with that laptop. Described below is my experience so far.

Prepare to Install

I downloaded the x64 glibc base ISO image from the VOID website.

Once the ISO had finished downloading, I wrote the image to a USB stick, which I then proceeded to boot my laptop from.

At the initial command prompt, I entered a username of root and a password of voidlinux.

Installation

The installation is ncurses based and, except for the partitioning section, it is easy to understand and follow. To run the installer, I entered void-installer at the command prompt, and pressed enter.

Partitioning

If you decide to do a UEFI install, make sure the efi partition has at least 256MB. This will be mounted at /boot/efi.

I made the boot partition 1GB on my Dell 7490 so it can hold a few kernel revisions. The partition on my Chromebook is a bit small; my mistake!

The partition scheme I chose was the GUID Partition Table GPT. The only thing you need to ensure, when using this partition table type, is that the first partition has the bios_grub flag.

I decided to set the size of the /boot partition to 350 MB, as this partition will hold the system Linux kernels. A size of 350 MB ensures that three kernels can be accomodated comfortably.

The configuration for the first two VOID Linux partitions in a GPT scheme are shown in the table below.

Size Filesystem Flag Mount
5 MB BIOS boot or ef02 bios_grub None
350 MB vfat None /boot

Setup

Change default repository

The VOID Linux respositories contain the majority of packages that you would ever want (or need) to install. For everything else, there is flatpak. One of the first things I did was to change the location of the default repository, since the repository that is configured during installation is located in Germany. Therefore I changed the repository to mirror.clarkson.edu/voidlinux/current/, which is located in the United States.

Add the nonfree repository.

System Services

The first thing I did was to install the system services that I would need. On the Acer laptop, I found that wpa_supplicant was not stable at all. I therefore installed iwd, which proved to be very stable. I removed wpa_supplicant and configured iwd to start at system boot using sudo ln -s /etc/sv/iwd /var/services/. On a MacBook, wpa_supplicant worked very well, so this configuration step was not required.

I ran in to an issue with the NetworkManager service on a Dell 7490, so make sure the default services match those starting in /var/service.

pipewire

To get pipewire working, I installed pipewire and enabled both the pipewire service and the pipewire-pulse service.

Updated Information

Packages

The list below shows some of the additional packages that I installed on the VOID Linux system. Of course not everything is available, Proton Bridge is one application that I could not install, but I think I can do without reading email on every single laptop that I own (in addition to my phone).

Other things

MacBook

I had to add the following lines to the /etc/rc.local file:

modprobe -r usbmouse modprobe -r bcm5974 modprobe bcm5974

Enpass

To use enpass, you need to install it as a flatpak and then edit the flatpak config file to allow access to the local filesystem; otherwise it will not save any of the configured vaults.

PGP

Import the PGP keys from cloud share.

runit

Make sure the services starting are also in the default run level. The directory to check is /etc/runit/runsvdir/default.