Void Linux

I’ve been testing Void Linux recently, and thought I’d take a few minutes to write about my experience. Void is an independent, open source Linux distribution with a unique package manager and an init system written from scratch. The Github repo is here.

Void uses a “rolling release” strategy; there are no specific releases or versions. You can update packages daily or whenever you chose, and you’ll always get the latest code. They use a continuous build system to produce packages as soon as changes are pushed.

Void’s new package manager is called xbps. I had no trouble picking up the syntax, and it seemed to handle dependencies and do everything else you’d expect a modern package manager to do, but I didn’t find it particularly notable or exceptional. The purported benefits are outlined here.

Where Void Linux really shines, and by far my favorite thing about it, is the init system, runit (“run it”). You can read more about runit here. Sometimes a screencap is worth a thousand words:


That’s the running process tree from my Void Linux system. That’s it! That’s all that is running on my system. Admire the simplicity. I can explain what every process is doing there. Try that on a fresh install of Ubuntu!

As a result, the OS itself has a remarkably small footprint:


The system is only using 33 MB of RAM. Incredible!

The underlying approach to managing services is genius. Basically, it’s just symlinks. If you look at the directory /var/service, you can see which services are enabled. If there’s a symlink there to an existing service in /etc/sv, that service will start at boot (and continue running under the management of runit). Need to disable a service? Just delete the symlink!


Let’s take a look at a service configuration in /etc/sv. Here we’ve created a new service configuration for ntpd (network time protocol). It’s basically one line of Bash. It execs ntpd as the ntpd user. That’s it.


With that in place, all you need to do is create a symlink in /var/service, and you’re done.

I’ll definitely be keeping an eye on Void Linux. I absolutely love runit. It’s such a nice anecdote to the over-engineered complexity of systemd, the init system used my the majority of popular distributions.

Unfortunately there are some chicken-and-egg issues preventing me from using Void in production systems. Namely, it’s not available as an install target on any of the hosting providers I use. I had to create a custom ISO image in order to install it on a VPS (custom ISOs are a nice feature over at Vultr, my favorite VPS host). Void also suffers from a lack of adoption (and a resulting lack of community support) at this early stage. Try Googling for solutions to problems with Void, and you’ll probably be disappointed. These problems should wane as time goes on and more people start to use Void.

I’d encourage anyone interested in a new approach to Linux to check it out!

tags: linux | 2017-10-09 | permalink

Baofeng BF-F8HP

I recently picked up a Baofeng BF-F8HP from Amazon. It’s an interesting little handheld radio made by Baofeng in Beijing. It can transmit or receive on 136-174 MHz (VHF) and 400-520 MHz (UHF) bands at 8 watts, and receive on 65-108 MHz (FM).

Interestingly it also has the ability to transmit “touch tones” (DTMF) using the keypad. This is likely how the air-raid sirens were hacked in Dallas. Although the hack is reminiscent of Captain Crunch and an older era of analog hacking, it’s still relevant because we rely on analog RF signals for emergency communications and infrastructure.

Despite its widespread availability, the BF-F8HP is technically out of spec in the US, and certain uses of this radio may be against FCC regulations (including out-of-spec or over-powered transmissions, not to mention hacking air-raid sirens).

I’m using it to receive RF transmissions in the area, and to experiment with the intersection of modern tech and older analog RF tech.

2017-07-06 | permalink