Join Nostr
2026-11-12 20:59:17 UTC

murad on Nostr: came across bootvine, willem vanhulle's live systemd boot tree, and it's one of those ...

came across bootvine, willem vanhulle's live systemd boot tree, and it's one of those things that makes you wonder why every linux distro still shows a wall of log lines scrolling past too fast to read. it takes over the boot console and draws a tree of the units still pending, nested under whatever is waiting on them, with a timeline of the slowest ones in the space left below. in the spirit of nix-output-monitor, but for the actual boot.

the part that really got me is how it survives the switch from the initrd to the real root. systemd is about to kill everything and re-execute itself, so bootvine sets its process name to @bootvine — switch-root spares anything starting with @ — opens a directory fd to /sysroot before the old path disappears, then chroots into it and reconnects to the new pid 1. that's a lot of care for a boot screen.

it also follows shutdowns (the tree turns around, so the unit holding everything up sits at the bottom of its branch), answers luks prompts in a popup, and when a unit fails it shows the actual reason plus the last journal lines, not just a red [FAILED]. you can try it in qemu without touching your own boot: nix run git+https://codeberg.org/wvhulle/bootvine#sample-vm-slow-services

https://codeberg.org/wvhulle/bootvine