Summary
This chapter was a deep dive into a lesser-known init
system that I feel is largely underappreciated. Like systemd
, BusyBox runit
can enforce complex dependencies between services both during boot and at runtime. It just does it in a much simpler and I would argue more Unix-like way than systemd
does. Plus, nothing beats BusyBox runit
when it comes to boot times. If you are already using Buildroot as your build system, then I strongly encourage you to consider BusyBox runit
for your device's init
system.
We covered a lot of ground in our exploration. First, you learned how to get BusyBox runit
onto your device and start it using Buildroot. Then I showed you how you can assemble and configure services together in different ways using out-of-tree umbrella packages. Next, we experimented with a live process supervision tree before delving into service dependencies and ways to express them. After that, I showed you how to add a dedicated logger and configure log rotation...