<story><title>Porting systemd to musl Libc-powered Linux</title><url>https://catfox.life/2024/09/05/porting-systemd-to-musl-libc-powered-linux/</url></story><parent_chain><item><author>dmwilcox</author><text>it&amp;#x27;s funny that many people mention boot time as a metric when for most servers, VMs and laptops the devices are either always on or sleeping. startup times do nothing in those cases.&lt;p&gt;personally I use a custom alpine live-usb that is immutable and I fully shutdown and start-up all the time. openrc doesn&amp;#x27;t give me any grief, the bulk of my startup time is copying my 500mb rootfs into a tmpfs&lt;p&gt;systemd for me is solidly &amp;quot;at work&amp;quot; software, and not stuff I&amp;#x27;m a big fan of either (journald, networkd and the silly dns resolver all have serious issues). so please, keep away from my alpine or I&amp;#x27;ll have to fork -again- :)</text></item></parent_chain><comment><author>rkangel</author><text>&amp;gt; it&amp;#x27;s funny that many people mention boot time as a metric&lt;p&gt;For the majority of deployments of systemd, that&amp;#x27;s probably true. Note that this is a musl port, and that the existing musl port is from OpenEmbedded. It&amp;#x27;s embedded devices that are often using cut-down userspaces (e.g. using MUSL), and embedded devices often do care about startup time because they&amp;#x27;re not Always-On.&lt;p&gt;E.g. the VTech baby monitor I&amp;#x27;ve just bought is generally pretty good, but spends &amp;gt;10 seconds at a splash screen when you turn it on. No idea if it&amp;#x27;s Linux under the hood, but an optimised boot time would be great.&lt;p&gt;In a previous work project, we need the Linux based software to be ready from low power state quickly (battery powered, only doing work occasionally). By getting the boot time down &amp;lt;1s, I could also avoid a load of sleep-state shenanigans - when we wanted to power save, we just turned off completely (there was already a supervisory micro to decide when to turn back on).</text></comment>
<story><title>Porting systemd to musl Libc-powered Linux</title><url>https://catfox.life/2024/09/05/porting-systemd-to-musl-libc-powered-linux/</url></story><parent_chain><item><author>dmwilcox</author><text>it&amp;#x27;s funny that many people mention boot time as a metric when for most servers, VMs and laptops the devices are either always on or sleeping. startup times do nothing in those cases.&lt;p&gt;personally I use a custom alpine live-usb that is immutable and I fully shutdown and start-up all the time. openrc doesn&amp;#x27;t give me any grief, the bulk of my startup time is copying my 500mb rootfs into a tmpfs&lt;p&gt;systemd for me is solidly &amp;quot;at work&amp;quot; software, and not stuff I&amp;#x27;m a big fan of either (journald, networkd and the silly dns resolver all have serious issues). so please, keep away from my alpine or I&amp;#x27;ll have to fork -again- :)</text></item></parent_chain><comment><author>btreecat</author><text>The biggest issue I ran into with OpenRC was the lack of metadata related to hot-plugging events.&lt;p&gt;There currently is no way to fire specific events based on vendor&amp;#x2F;device id like you would with systemd.&lt;p&gt;This forced me to write a shim script to enable USB passthrough with arbitrary k8s nodes. The shim was short but is very hacky and relies on 3p packages because the info needed isn&amp;#x27;t available in stock alpine.&lt;p&gt;Blog post about it here:
&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stephentanner.com&amp;#x2F;home-assistant-on-k3s.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stephentanner.com&amp;#x2F;home-assistant-on-k3s.html&lt;/a&gt;&lt;p&gt;Follow up post in the works based on additional improvements up streamed to OpenRC. The biggest issue was getting literally anyone from the project to comment on the PR to progress it forward to acceptance.</text></comment>