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.
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.
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).
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:
Run the following command as root:
# xbps-install -Su
Afterwards your system should update xbps and recreate /bin/sh
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.
dracut:/#
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.
Join over on #voidlinux in freenode or ask on reddit.
XBPS 0.54 is released. This release includes many new features and a plethora of bug fixes. Some notable fixes include:
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.