void logo void logo

The Void (Linux) distribution

Void is a general purpose operating system, based on the monolithic Linux® kernel. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources with the help of the XBPS source packages collection.

It is available for the Intel x86®, ARM® and MIPS® processor architectures; Software packages can be built natively or cross compiling through the XBPS source packages collection.

Not a fork!

Void Linux is an independent distribution, developed entirely by volunteers.

Unlike trillions of other existing distros, Void is not a modification of an existing distribution. Void's package manager and build system have been written from scratch.

Rolling release

Install once, update daily. Your system will always be up-to-date.

Thanks to our continuous build system, new software is built into binary packages as soon as the changes are pushed to the void-packages repository.


We use runit as the init system and service supervisor.

runit is a simple and effective approach to initialize the system with reliable service supervision. See the usage page for a brief introduction.


We were the first distribution to switch to LibreSSL by default, replacing OpenSSL.

Due to the Heartbleed fiasco, we believe that the OpenBSD project has qualified and pro-active developers to provide a more secure alternative.


xbps is the native system package manager, written from scratch with a 2-clause BSD license.

xbps allows you to quickly install/update/remove software in your system and features detection of incompatible shared libraries and dependencies while updating or removing packages (among others). See the usage page for a brief introduction.


xbps-src is the xbps package builder, written from scratch with a 2-clause BSD license.

This builds the software in containers through the use of Linux namespaces, providing isolation of processes and bind mounts (among others). No root required!

Additionally, xbps-src can build natively or cross compile for the target machine, and supports multiple C libraries (glibc and musl currently).

void-packages changes

xbps changes

August 13, 2019

xbps bug results in missing /bin/sh

Due to a bug in xbps there was an issue this morning where /bin/sh disappeared after an update.

The bug was fixed quickly, but there’s a 2h window where an update may have resulted in a broken system.

If you’re affected by this issue you may experience error messages like these during boot:

runit: fatal: unable to start child: /etc/runit/1 file does not exist

These are the steps to recover your system:

Case 1: System is still running and you have a working shell open

Run the following command as root:

# xbps-install -Su

Afterwards your system should update xbps and recreate /bin/sh

Case 2: System has rebooted or no shell is opened anymore

Restart your system

                              GNU GRUB  version 2.02

  │*Void GNU/Linux                                                             │
  │ Advanced options for Void GNU/Linux                                        │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │
  │                                                                            │

       Use the ↑ and ↓ keys to select which entry is highlighted.
       Press enter to boot the selected OS, `e' to edit the commands
       before booting or `c' for a command-line.

Once grub comes up, select the kernel you want to boot and press E.

                              GNU GRUB  version 2.02

  │          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --\│↑
  │hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  XXXXXXXX-XXXX-XXXX-XXXX-\│
  │XXXXXXXXXXXX                                                                │
  │        else                                                                │ 
  │          search --no-floppy --fs-uuid --set=root XXXXXXXX-XXXX-XXXX-XXXX-X\│ 
  │XXXXXXXXXXX                                                                 │
  │        fi                                                                  │ 
  │        echo        'Loading Linux 4.19.15_1 ...'                           │ 
  │        linux        /boot/vmlinuz-4.19.15_1 ro  loglevel=4 slub_debug=P pa\│ 
  │ge_poison=1 rd.break                                                        │
  │        echo        'Loading initial ramdisk ...'                           │ 
  │        initrd        /boot/initramfs-4.19.15_1.img                         │ 
  │                                                                            │

       Minimum Emacs-like screen editing is supported. TAB lists 
       completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for   
       a command-line or ESC to discard edits and return to the GRUB menu.

find the line that starts with linux /boot/... and add rd.break at the end of the line. Make sure it is seperated with a space from the rest of the line

Afterwards Press Ctrl + X to boot the configuration.

  Dropping to debug shell.


Once you’ve got a shell execute the following commands:

  dracut:/# mount -o remount,rw /sysroot
  dracut:/# chroot /sysroot xbps-alternatives -s bash
  dracut:/# exit

Afterwards the system should work as expected.

Please use xbps-install -Su to fetch the newest xbps version that fixes this bug.

If it doesn’t help

Join over on #voidlinux in freenode or ask on reddit.

June 20, 2019

XBPS 0.54 Released

XBPS 0.54 is released. This release includes many new features and a plethora of bug fixes. Some notable fixes include:

  • Improved conflict checking
  • Additional compression formats including zstd
  • Fixes to the alternatives system
  • New binaries replacing portions of xbps-uhelper
  • Over 30 new test cases

New binaries have also been uploaded to the static/ directories of all mirrors.

As always you can read the complete changelog on GitHub and file issues at https://github.com/void-linux/xbps/issues.