ZFSBootMenu on Void Linux UEFI with Tailscale
I tried getting ZFSBootMenu to work with Tailscale at the initramfs level using the official documentation as well as ZQuickInit, but DHCP never worked right for me so I put together this script to run it post-boot on a single, unencrypted UEFI disk that automatically boots. If you want to try out ZFS on Linux, this is the easiest method I've found.
- Download the latest hrmpf ISO image
- Load the image on to a bootable USB using balenaEtcher
- Insert the bootable USB into the device and power on (note: you may need to select a function key or bios option to boot into it)
- SSH into the device via the user anon and password voidlinux
- Create a free Tailscale account
- On the Access Controls tab, replace the existing code with:
{
"tagOwners": {
"tag:server": [
"autogroup:admin"
],
"tag:admin": [
"autogroup:admin"
]
},
"grants": [
{
"src": ["tag:admin"],
"dst": ["tag:server"],
"ip": ["22"]
},
{
"src": ["autogroup:member"],
"dst": ["autogroup:internet"],
"ip": ["*"]
}
],
"ssh": [
{
"action": "accept",
"src": [
"tag:admin"
],
"dst": [
"tag:server"
],
"users": [
"autogroup:nonroot",
"root"
]
}
]
}
- On the DNS tab, enter your desired nameservers and enable the Override DNS servers option
- On the Settings tab, click on the Keys option in the left-hand column
- Click the Generate auth key... button
- Keep the defaults and click the Generate key button
- Save the resulting key code in a safe, temporary location
- In the hrmpf SSH terminal, run
curl -s -o /tmp/zbm-void-ts.sh https://raw.githubusercontent.com/ascension-association/zbm-void-ts/refs/heads/main/zbm-void-ts.sh && sudo bash /tmp/zbm-void-ts.sh - Follow the prompts to install
- After the installation and reboot, the device will appear in Tailscale under the Machines tab
- Encryption
- SSH key authentication
- Migrate from
base-systemtobase-minimal