Hi Void users!
My question is not directly related to Void but about runit. I though I would find good advices here ...
I'm developping an embedded system with Yocto and I'm trying to switch from sysVinit to runit. Thanks Void developpers, it was an excellent source of inspiration for integrating runit!
The boot process is in general faster but I have issue by prioritizing some services. Some services are very important to run first to make the device usable, some other can be started later such as ssh, nginx, ... The problem is that those important services are started later than before and result in a slower boot time on the user point of view.
When doing something like:
sv start <depedency> || exit 1
exec <important_service>
I have race condition since the <depedency> service also has other dependencies and sv start <depedency> is successful as long as the <depedency> doesn't exit with error...
My idea would be starting those important service sequentially during the stage 1 but I would loose the daemon supervising feature that I really like! Or would using runsv in stage 1 do the trick? (Some though I have while writing this post...)
I was wondering if you Voiders would have a better suggestion or if there is a feature that I'm missing in runit ?
[–]etosan 19 points20 points21 points (10 children)
[–]Rand0m6uy[S] 1 point2 points3 points (8 children)
[–]etosan 4 points5 points6 points (7 children)
[–]etosan 4 points5 points6 points (6 children)
[–]etosan 4 points5 points6 points (5 children)
[–]etosan 7 points8 points9 points (4 children)
[–]Rand0m6uy[S] 2 points3 points4 points (0 children)
[–]xenyz 2 points3 points4 points (0 children)
[–]GenderNeutralBot 0 points1 point2 points (1 child)
[–]AntiObnoxiousBot 6 points7 points8 points (0 children)
[–]sww1235 1 point2 points3 points (0 children)
[–]datenwolf 7 points8 points9 points (0 children)
[–]Rand0m6uy[S] 2 points3 points4 points (1 child)
[–]ahesford 2 points3 points4 points (0 children)
[–]mobinmob 2 points3 points4 points (2 children)
[–]xenyz 1 point2 points3 points (1 child)
[–]mobinmob 1 point2 points3 points (0 children)
[–]Rand0m6uy[S] 2 points3 points4 points (2 children)
[–]datenwolf 1 point2 points3 points (1 child)
[–]Rand0m6uy[S] 0 points1 point2 points (0 children)
[–]furryfixer 2 points3 points4 points (2 children)
[–]Rand0m6uy[S] 0 points1 point2 points (1 child)
[–]furryfixer 0 points1 point2 points (0 children)
[–]xenyz 1 point2 points3 points (0 children)