← Back to systemdfree.com
Guide — Void Linux · Beginner

Installing
Void Linux

A complete step-by-step guide to installing Void Linux — the gold standard systemd-free distribution — from ISO to a fully working desktop.

Void Linux runit · XBPS UEFI · GPT Beginner friendly
This guide is reproduced with the kind permission of Linuxiac. Original article by Bobby Borisov: How to Install Void Linux: A Complete Step-by-Step Guide. All screenshots courtesy of Linuxiac.

Thanks a lot to Linuxiac! This guide was written by Bobby Borisov: you can find the original here: https://linuxiac.com/void-linux-installation/

Void Linux is an independent Linux distribution following a rolling release model, developed entirely by volunteers. It appeals to users who prefer a lightweight, minimalistic, highly customizable Linux experience. What sets it apart from most other distributions is that Void is not a derivative of any other — it is a genuinely original build from scratch.

Most importantly for us: Void is systemd-free by design. It uses runit as its init system — a minimalist, extremely fast supervisor that is easy to configure and true to the Unix tradition. Void will never ship systemd by default. This is not a political stance by the maintainers. It is simply part of what Void is.

Why Void? Independent codebase, rolling release, runit as PID 1 with no opt-out, XBPS package manager, choice of glibc or musl. It is the gold standard for systemd-free desktop Linux.
UEFI Preparation

You can install Void Linux directly to your computer or inside a virtual machine using VirtualBox or KVM. If using a VM, you must enable EFI in the virtual machine settings before starting the installation. Otherwise an error will occur when attempting to install the GRUB bootloader.

VirtualBox

Enable EFI on VirtualBox
Enable EFI in VirtualBox settings before booting the ISO

Virt-Manager / KVM

Enable UEFI on virt-manager
Enable UEFI firmware in virt-manager VM settings
01 Download the ISO

Void comes with two C standard libraries: glibc and musl. glibc is widely used and has the broadest software compatibility. musl is a cleaner, smaller implementation but some programs may not yet support it fully.

For this guide we will use the glibc version. Visit the Void Linux download page and grab the base Live image with glibc.

Void Linux download page
Download the base Live glibc image from voidlinux.org
02 Prepare Bootable USB

Once the ISO finishes downloading, create a bootable USB drive. You can use the dd command, or a graphical tool such as Etcher or Ventoy. Any method that writes the ISO correctly to the USB will work.

dd if=void-live-x86_64-*.iso of=/dev/sdX bs=4M status=progress sync
Note: Replace /dev/sdX with your actual USB device. Use lsblk to identify it. This command will erase all data on the target device.
03 Boot from USB

Shut down your computer, plug in the USB, and boot. If secure boot is enabled in your BIOS and prevents booting, disable it first.

Once booted into the Void ISO, you will see the boot menu. Choose the first option and press Enter.

Void Linux boot screen
Void Linux live boot menu — select the first option

After the kernel loads you will be dropped into a root terminal. Log in with username root and password voidlinux.

Void Linux live terminal
Log in as root / voidlinux, then launch the installer

Start the installer by typing:

void-installer
04 Installing Void Linux

Void uses a simple text-based installer that walks you through each step. Press Enter to begin.

Void installer welcome screen
The void-installer welcome screen
4.1 Set System Keyboard

Select your keyboard layout. Navigate to your layout and press Enter.

Keyboard selection
Select your keyboard layout from the list
Keyboard selected
Keyboard layout confirmed
4.2 Set up the Network

The installer will detect your network adapter. Choose Yes for DHCP to automatically obtain an IP address from your router.

Network setup
Network adapter detected — enable DHCP
Network confirmed
Network working correctly — press Enter to continue
4.3 Installation Source

Select Network to fetch the latest packages directly from the Void repositories. This requires a working internet connection but ensures you get the most up-to-date software.

Installation source
Select Network for the latest packages
4.4 Set System Hostname

Enter a hostname for your machine. It can be anything you want — this is the name your system will use to identify itself on the network.

Set hostname
Enter your desired hostname — "void" is a fine choice
4.5 Set System Locale

Select en_US.UTF-8 or the locale appropriate for your language and region.

Set locale
Select en_US.UTF-8 or your preferred locale
4.6 Set System Timezone

Select the timezone closest to your location to set the system clock correctly.

Set timezone
Choose your continent first, then your city
Timezone confirmed
Timezone set — press Enter to continue
4.7 Set Root Password

Set a strong password for the root account. You will be asked to confirm it. Do not use a weak password here — this is full system access.

Set root password
Enter and confirm a strong root password
4.8 Setting Up the User

Create your primary user account. This is the account you will use for day-to-day access to the desktop.

Set username
Enter your desired username
Set full name
Enter the full name for your user account
User groups
Accept the default groups — they are appropriate for daily use
4.9 Setting Up the Bootloader

Select the disk where GRUB will be installed. If you have only one disk, select it. When asked about the graphical terminal for the bootloader, choose Yes.

Bootloader disk selection
Select the disk for GRUB installation
Graphical bootloader
Choose Yes for the graphical terminal
4.10 Partition the Disk

Select your disk and choose cfdisk as the partitioning tool — it is the simplest. When asked for a label type, select gpt.

Create three partitions:

Partition layout:
/dev/vda1 — 1G — EFI System
/dev/vda2 — 4G — Linux swap
/dev/vda3 — remaining space — Linux filesystem (root)
Select cfdisk
Select cfdisk as the partitioning tool
cfdisk empty disk
Select Free Space and hit New to create the first partition
EFI partition type
Set the first partition type to EFI System
Root partition
Create the root partition using all remaining space
Write partition table
Select Write to save the partition table, type "yes" to confirm

Once done, select Quit to exit cfdisk and return to the installer.

4.11 Creating Filesystems and Mount Points

Now assign a filesystem type and mount point to each partition:

/dev/vda1 → vfat → mount at /boot/efi
/dev/vda2 → swap
/dev/vda3 → ext4 → mount at /
vfat for EFI
Select vfat for the EFI partition
Swap partition
Select swap for the second partition
ext4 for root
Select ext4 for the root partition

When all three partitions are configured, scroll to Done and press Enter. Then select Install and confirm with Yes. The download and installation will begin.

Installation in progress
Package download and installation in progress — this takes a few minutes
Installation complete
Installation complete — select Yes to reboot
Void Linux installed
Void Linux base system installed successfully
05 Installing a Desktop Environment

At this point your Void Linux system has only the essential command-line packages. No desktop environment is installed yet. Log in as root and proceed.

First, change the default root shell to Bash:

chsh -s /usr/bin/bash
Change root shell
Change the default shell to bash, then log out and back in

Log out with Ctrl+D and log back in so the change takes effect. Then install GNOME:

xbps-install -S gnome gnome-apps xorg
Note: You can install any desktop environment you prefer. Replace gnome gnome-apps xorg with xfce4, kde5, lxqt, or any other DE available in XBPS. GNOME is used here for illustration only — on a systemd-free system, lighter options like XFCE are often preferred.

Once installed, enable the required services using runit. In Void, enabling a service means creating a symlink in /var/service/:

ln -s /etc/sv/gdm /var/service ln -s /etc/sv/NetworkManager /var/service ln -s /etc/sv/dbus /var/service
How runit services work: All available service scripts live in /etc/sv/. A service is enabled when a symlink to it exists in /var/service/. To disable a service, remove the symlink. Simple, transparent, no binary formats.
06 Enable Audio

Enable PipeWire and WirePlumber to autostart when you log into the desktop:

ln -s /usr/share/applications/wireplumber.desktop /etc/xdg/autostart/ ln -s /usr/share/applications/pipewire.desktop /etc/xdg/autostart/
07 Reboot and Enter the Void
reboot
GDM login screen
The GDM login screen on your new Void Linux system
Void Linux GNOME desktop
Void Linux with GNOME — fully installed and running without systemd

Congratulations. You are now running Void Linux with runit. Your PID 1 does one thing and does it well. From here, the Void Linux Handbook is your best next resource for configuration, package management, and customization.

Verify your init: Open a terminal and run ps -p 1 -o comm=. The output should be runit. Welcome to the other side.