Learn Void Linux - User, Group, Network & Boot
Episode 7 of 23

Learn Void Linux - User, Group, Network & Boot

This episode covers user and group administration with useradd, sudo and doas access via the wheel group, dynamic and static network configuration, and Void's boot flow from the kernel and initrd to runit, along with the roles of GRUB and the linux-lts kernel.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Introduction

A production system won't stay healthy without proper user, network, and boot process management. Episode 7 combines the three because they're interconnected: the right users determine who can administer the system, the network determines how the system communicates, and understanding boot helps you troubleshoot from the moment the machine is powered on.

Void has a small difference from other distros: besides sudo, Void also supports doas — a minimal alternative from OpenBSD — which is increasingly favored for its simplicity. In this episode you'll learn both.

Let's start with user and group management.

Users and Groups

Creating Users with useradd

Create a new user with the wheel group so they can use sudo or doas:

Create a user with the wheel group
sudo useradd -m -G wheel -s /bin/bash devnull
sudo passwd devnull

The useradd -m -G wheel -s /bin/bash devnull command creates a home directory, adds the user to the wheel group, and sets the shell. After that, set a password with passwd.

Verifying Users and Groups

Check the results with id and the group list:

Verify user and group
id devnull
getent group wheel

The output of getent group wheel shows the members of the wheel group — including the user you just created.

sudo and doas

Configuring sudo

sudo is already installed in a standard Void installation. Edit the configuration with visudo and enable the wheel group:

Enable wheel in sudoers
sudo visudo

Uncomment the %wheel ALL=(ALL) ALL line in /etc/sudoers, then save. Now all wheel members can run commands with sudo.

doas: A Minimal Alternative

doas is provided by the opendoas package. Install and configure it via /etc/doas.conf:

Install and configure doas
sudo xbps-install -S opendoas
echo 'permit persist :wheel' | sudo tee -a /etc/doas.conf

The permit persist :wheel line in /etc/doas.conf allows wheel members to run doas. The persist option keeps the credentials for a few minutes so you don't have to enter your password repeatedly.

Network Configuration

Dynamic Networking with dhcpcd

dhcpcd is Void's default. Enable it as a runit service:

Enable dhcpcd
sudo ln -s /etc/sv/dhcpcd /var/service/
sv status dhcpcd

If needed, adjust the dhcpcd configuration in /etc/dhcpcd.conf. For example, to set the hostname or DNS:

Excerpt from /etc/dhcpcd.conf
hostname
option domain_name_servers, domain_search

Static Networking with /etc/network/interfaces

For a static IP, Void supports the Debian-style /etc/network/interfaces file:

/etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.50/24
    gateway 192.168.1.1

Enable the networking service, then bring the interface up:

Enable the static configuration
sudo ln -s /etc/sv/networking /var/service/
sudo ip link set eth0 up

The ln -s /etc/sv/networking /var/service/ command enables the networking script that reads /etc/network/interfaces. Make sure there's no conflict with dhcpcd.

NetworkManager as an Option

For desktops, NetworkManager is more convenient for managing WiFi and mobile devices:

Install and enable NetworkManager
sudo xbps-install -S NetworkManager
sudo ln -s /etc/sv/NetworkManager /var/service/
sudo sv restart NetworkManager

The Void Boot Process

Boot Sequence

Booting Void starts with the firmware (UEFI/BIOS), then GRUB loads the kernel and initramfs, and finally the kernel executes runit as PID 1:

Void boot sequence
Firmware -> GRUB -> Kernel + initramfs -> runit -> runsvdir

The initramfs is built with dracut and contains the modules and hooks needed to mount the root filesystem.

Choosing a Kernel: linux vs linux-lts

Void provides several kernels. The two most important:

Kernels in Void
linux      : latest upstream kernel, newest features
linux-lts  : LTS kernel, more conservative and stable for production

For production servers, linux-lts is often the choice because of its long support schedule. Check the active kernel with:

Check the active kernel
uname -r
xbps-query -l | grep 'linux'

The output of uname -r shows the version of the running kernel. The list of installed kernel packages can be seen with xbps-query -l.

Managing Boot with GRUB

After replacing or upgrading a kernel, regenerate the GRUB configuration:

Regenerate the GRUB configuration
sudo xbps-reconfigure -f grub

The xbps-reconfigure -f grub command re-runs the grub configuration script so the boot menu is updated with the latest kernel.

Conclusion

Episode 7 taught user and group administration with useradd, sudo and doas access through the wheel group, dynamic networking with dhcpcd and static with /etc/network/interfaces, and Void's boot flow from firmware to runit.

Key takeaways:

  • Users in the wheel group can use sudo and doas.
  • doas is a minimal alternative configured via /etc/doas.conf.
  • dhcpcd is the default; static networking goes through /etc/network/interfaces.
  • Void boots from firmware to GRUB, then the kernel, then runit.
  • linux-lts is more suitable for production than linux.
  • Regenerate GRUB with xbps-reconfigure -f grub after changing kernels.

In the next episode, episode 8, we will cover desktop environments and graphics — installing DEs and window managers like XFCE, KDE, GNOME, i3, and Hyprland, understanding Xorg versus Wayland, and handling mesa and NVIDIA drivers in Void.

Learn Void Linux - User, Group, Network & Boot | Learn Void Linux