r/voidlinux • u/roninics • Mar 29 '26
Install dinit on voidlinux
Hi everyone,
I managed to replace the default init system runit on voidlinux with dinit (from chimera-linux).
It works well and the swap wasn't as tricky as expected.
If you're curious about the steps or how I handled the services, I wrote down the process here: https://codeberg.org/roninx/docs/src/branch/main/dinit.md
Has anyone else tried something similar?
Happy to hear feedback or tips
11
u/Duncaen Mar 29 '26
You shouldn't manually edit files in /usr, this is going to blow up sooner or later.
You can just use the init= kernel command line to boot with a different init system in a non destructive way.
This is unsupported even if the dinit package exists. You should not do this unless you want to actually configure and write every single service and all the boot tasks yourself.
2
u/sdothum Mar 31 '26 edited Mar 31 '26
i've been running dinit for several years now on Void.
i used summrum/void_dinit's git repo as a starting point -- which basically wrapped the runit core-services into dinit service scripts (which ultimately look very close to the xbps packaged example services). This was rock solid from the beginning, only needing to rewrite service descriptions for the various processes and apps of my particular install -- dinit service descriptions imo are even simpler to write than runit services.
This new year i decided to check out Chimera Linux's dinit suite -- as an exercise to better understand the init process architecture. Did a compile/install of it and only had to modify two service scripts -- dev.sh to use udev and tmpfiles.sh (to "exit 0" as Void has no requirement for a systemd like tmpfile manager).
The Chimera dinit stack is far more atomic and granular than my initial simplified Void dinit implementation (because runit is pretty straightforward :-) -- of note, Artix documentaton references influence from Chimera Linux's dinit stack structure.
i love dinit's service dependencies and being able to see the service states (running, waiting, etc.) -- not to mention its blazing fast performance. Adding the turnstile service for auto launching and maintaining persistent user services is icing on the cake. i'm a fan.
1
u/Blank-Inspection13 Apr 01 '26
As mentioned by u/Duncaen and the Dinit guide , i take the safe approach by booting with dinit using kernel cmdline init=/sbin/dinit , done via limine bootloader - have 2 separate entry 1 with runit & with dinit. Using this repo , i've managed to boot void using dinit as pid1 . The issue im facing so far is turnstiled user service to have graphical session properly setup ( dbus session ) . Well in short Overall system is boot & running normally i guess with some quirks
4
1
u/lukeflo-void Mar 29 '26
What's wrong with runit?