LWN: Comments on "14 years of systemd" https://lwn.net/Articles/1008721/ This is a special feed containing comments posted to the individual LWN article titled "14 years of systemd". en-us Sun, 05 Oct 2025 23:08:00 +0000 Sun, 05 Oct 2025 23:08:00 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Still don't handle remote boot correctly https://lwn.net/Articles/1013166/ https://lwn.net/Articles/1013166/ farnz Can you describe how? It's clearly not obvious to lee_duncan how to get at the post-pivot filesystem contents from a daemon started pre-pivot, and documentation on how to do that might clear up their confusion. Thu, 06 Mar 2025 10:22:08 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1013133/ https://lwn.net/Articles/1013133/ bluca <div class="FormattedComment"> <span class="QuotedText">&gt; Open-iscsi is unlike any of these implementations, in that it daemon needs to access post-pivot sysfs, a post-pivot database, and post-pivot configuration files. The pre-pivot daemon has their own copies of these things.</span><br> <p> And? That's trivial to get<br> </div> Wed, 05 Mar 2025 21:40:43 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1013128/ https://lwn.net/Articles/1013128/ lee_duncan <div class="FormattedComment"> Excellent grepping skills on github, but only one of those projects is actually a filesystem daemon! Seems funny that so many other projects (like a web server serving up git as a filesystem) use the "ROOT STORAGE DAEMONS" loophole to keep their daemons running.<br> <p> Open-iscsi is unlike any of these implementations, in that it daemon needs to access post-pivot sysfs, a post-pivot database, and post-pivot configuration files. The pre-pivot daemon has their own copies of these things.<br> <p> This kind of push-back is why, in my experience, some see systemd as less than cooperative. I just see it as an immovable object I have to go around.<br> </div> Wed, 05 Mar 2025 19:43:10 +0000 Lack of understanding of fundamentals even after 14 years https://lwn.net/Articles/1013039/ https://lwn.net/Articles/1013039/ dtardon <div class="FormattedComment"> <span class="QuotedText">&gt; systemd does not have or propose a model of service states as Poettering and many others confuse service states with process states. The reason why the "socket activation concept" was loved is that usually socket state matches service state better than process, as when a socket is ready usually the service behind it is ready or soon to be so.</span><br> <p> So maybe you could enlighten those among us who don't know what service states are? And why they are better than the status quo?<br> <p> <span class="QuotedText">&gt; Since systemd aims to manage system states and the UNIX architecture does not have good facilities for connecting unrelated (by forking) processes</span><br> <p> UNIX might not, but Linux does. It's called cgroups and systemd makes heavy use of it.<br> <p> <span class="QuotedText">&gt; and there is no model of service states systemd has become a huge and effectively monolithic (despite being technically split into 150 closely related executables) general service state multiplexer</span><br> <p> IOW, because systemd doesn't have a model of service states, it's become a service state multiplexer... Sorry, but this sentence makes no sense. (And the bit about the split to separate executables being just technical is pure bullshit. It just shows that you've no idea what you're talking about.)<br> <p> <span class="QuotedText">&gt; where it must eventually manage all system aspects itself using a wild and complex variety of service state wrappers,</span><br> <span class="QuotedText">&gt; so for example it must manage package installs,</span><br> <p> It doesn't.<br> <p> <span class="QuotedText">&gt; network interfaces,</span><br> <p> It doesn't either. networkd does, but that's completely unrelated to PID1 and there's no information sharing between them.<br> <p> <span class="QuotedText">&gt; filesystem mounts itself etc. to ensure that their state is well defined before starting services that depend on those.</span><br> <p> I'm eager to learn how service states help to manage dependencies between services and mounts without tracking mounts.<br> </div> Wed, 05 Mar 2025 12:53:17 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1012536/ https://lwn.net/Articles/1012536/ bluca <div class="FormattedComment"> <span class="QuotedText">&gt; Yes, sadly, that's the same response I have gotten in the past. An architecture document that, to my knowledge, nobody has followed.</span><br> <p> This is not true, and even a cursory search on GH shows plenty of real world examples:<br> <p> <a href="https://github.com/search?q=%22argv%5B0%5D%5B0%5D+%3D+%27%40%27%22&amp;type=code">https://github.com/search?q=%22argv%5B0%5D%5B0%5D+%3D+%27...</a><br> </div> Sat, 01 Mar 2025 12:25:54 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1012498/ https://lwn.net/Articles/1012498/ lee_duncan <div class="FormattedComment"> Yes, sadly, that's the same response I have gotten in the past. An architecture document that, to my knowledge, nobody has followed. That document has a lot of issues that I'm pretty sure the systemd folks "don't understand".<br> <p> I have a daemon that handles error connections, that needs to be running for the root disc to work correctly. And it does great at that. But it's somewhat complicated.<br> <p> So to be able to use it the "systemd way", I would need to redesign it so that it can (1) run two at a time (not currently possible), and create a protocol for the initrd version to migrate its state to the post-pivot daemon, and not miss a beat if the root disc connection has an issue (or, even worse, have to daemons trying to fix the problem).<br> <p> Or perhaps I'm supposed to keep my daemon from being killed? But then it's stuck in pre-pivot initrd root forever, and can't see any local filesystems. So calling it "solved for a decade" is off by about 10 years in my opinion.<br> <p> Perhaps there's a working implementation of this "root storage daemon" policy? I'd love to see it if so, since none is reference in the link you supplied. Perhaps I can learn something.<br> </div> Fri, 28 Feb 2025 21:56:00 +0000 "All major Linux distributions..." https://lwn.net/Articles/1012291/ https://lwn.net/Articles/1012291/ rahulsundaram <div class="FormattedComment"> <span class="QuotedText">&gt; Not all of them. Slackware (the oldest continuously-maintained Linux distribution, which arguably fits the criteria for a "major" distro) does not use it, never has, and has no plan of including it in the foreseeable future.</span><br> <p> As with many who started off with Linux early on, I too was a Slackware user at some point but I haven't seen it be considered a major distro in a really long time. It has a special place as one of the oldest Linux distros still actively maintained with a small but passionate Linux user base and over the years it has become a pretty niche distro. YMMV.<br> </div> Thu, 27 Feb 2025 23:18:19 +0000 "All major Linux distributions..." https://lwn.net/Articles/1012285/ https://lwn.net/Articles/1012285/ sombragris <blockquote>All major Linux distributions use systemd</blockquote> <p>Not all of them. Slackware (the oldest continuously-maintained Linux distribution, which arguably fits the criteria for a "major" distro) does not use it, never has, and has no plan of including it in the foreseeable future.</p> <p>The article was very informative and educational. Thanks for the reporting.</p> Thu, 27 Feb 2025 22:36:23 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1011846/ https://lwn.net/Articles/1011846/ bluca <div class="FormattedComment"> <span class="QuotedText">&gt; We get connected in initrd, thus establishing the root disc. But then when it's time to switch root, the daemon is killed.</span><br> <p> Then the daemon is not implemented correctly. This problem has been solved for a decade at least. See:<br> <p> <a href="https://systemd.io/ROOT_STORAGE_DAEMONS/">https://systemd.io/ROOT_STORAGE_DAEMONS/</a><br> </div> Wed, 26 Feb 2025 00:28:11 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1011843/ https://lwn.net/Articles/1011843/ lee_duncan <div class="FormattedComment"> No. The problem is that we have a root connection, managed by the kernel, and a daemon that handles error conditions, retries, configuration, etc.<br> <p> We get connected in initrd, thus establishing the root disc. But then when it's time to switch root, the daemon is killed. A new daemon is started in user space. In the time between the pre-pivot daemon stopping and the post-pivot daemon starting, the connection cannot handle any errors, such as network hickups, target hickups. This also means that the post-pivot daemon needs to rediscover everything about the existing connection.<br> <p> I would like the ability to have the daemon continue during post-pivot. Evidently, this is possible, the daemon can't see the post-pivot filesystem, so it can't read config files, create or read database entries, etc. That means it can't really be interacted with. So that's not a solution.<br> <p> BTW, the daemon ran uninterrupted, from boot through multi-user, pre-systemd, for historical reference.<br> <p> I believe the systemd solution to this is to redesign our system so the daemon isn't needed during pivot, which also will not happen.<br> <p> I'm not aware of any remote-boot solution that works well with systemd, but I'm not sure how nvme handles this.<br> </div> Tue, 25 Feb 2025 23:49:35 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1011838/ https://lwn.net/Articles/1011838/ bluca <div class="FormattedComment"> That's not something that systemd can implement, it's up to whoever builds the initrd.<br> </div> Tue, 25 Feb 2025 22:36:25 +0000 Still don't handle remote boot correctly https://lwn.net/Articles/1011831/ https://lwn.net/Articles/1011831/ lee_duncan <div class="FormattedComment"> I work on iSCSI, and remote iSCSI volumes used for booting have always been problematic on Linux.<br> <p> Systemd had a chance to fix that, but they didn't. There's still no way to start an iSCSI session in initrd then pivot and have the full root understand that. But since it's not a preferred use case, it doesn't matter.<br> <p> </div> Tue, 25 Feb 2025 22:12:27 +0000 systemd's Image Obsession Misses the Forest for the Files https://lwn.net/Articles/1011529/ https://lwn.net/Articles/1011529/ alexl <div class="FormattedComment"> <span class="QuotedText">&gt;No, that is not possible, not even theoretically, because the chain of trust MUST go up into the kernel for this to work at all. composefs mounts do not do this, by design, trust is verified in userspace. It's not a matter of implementing it, it needs to be redesigned, and mutability and integrity are essentially at opposite ends of the spectrum. Pick one or the other according to the use case, but you can't have both.</span><br> <p> I don't see exactly how this would be impossible. I mean, obviously it would require some design and implementation work in the kernel to do the kernel-side signature validation, but nothing fundamentally impossible. The main blocker is that I don't currently consider this a critical feature.<br> <p> </div> Mon, 24 Feb 2025 12:57:05 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011512/ https://lwn.net/Articles/1011512/ Klaasjan <div class="FormattedComment"> Thanks, that is helpful.<br> </div> Mon, 24 Feb 2025 06:58:14 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011457/ https://lwn.net/Articles/1011457/ pabs <div class="FormattedComment"> I believe these are the public freely licensed sources for the RedHat documentation. They do contain a lot of trademarks and other things that would not be correct on Debian though.<br> <p> <a href="https://gitlab.com/redhat/centos-stream/docs/enterprise-docs/">https://gitlab.com/redhat/centos-stream/docs/enterprise-d...</a><br> </div> Sun, 23 Feb 2025 04:09:04 +0000 Second request https://lwn.net/Articles/1011420/ https://lwn.net/Articles/1011420/ dmv <div class="FormattedComment"> Seems like you picked the wrong day to stop sniffing glue. :)<br> </div> Sat, 22 Feb 2025 17:54:05 +0000 Lazy linking -> Lazy loading https://lwn.net/Articles/1011385/ https://lwn.net/Articles/1011385/ pabs <div class="FormattedComment"> The Solaris libc had optional dynamic linking IIRC, that never got adopted by glibc though.<br> </div> Sat, 22 Feb 2025 05:57:22 +0000 systemd's Image Obsession Misses the Forest for the Files https://lwn.net/Articles/1011313/ https://lwn.net/Articles/1011313/ bluca <div class="FormattedComment"> <span class="QuotedText">&gt; Theoretically there is nothing that prohibits adding kernel support for IPE to e.g only allow executing binaries from a signed composefs mount, although you are right that this doesn’t currently exist.</span><br> <p> No, that is not possible, not even theoretically, because the chain of trust MUST go up into the kernel for this to work at all. composefs mounts do not do this, by design, trust is verified in userspace. It's not a matter of implementing it, it needs to be redesigned, and mutability and integrity are essentially at opposite ends of the spectrum. Pick one or the other according to the use case, but you can't have both.<br> <p> <span class="QuotedText">&gt; However, I think IPE is only useful for setups that are extremely locked down.</span><br> <p> Yes, for sure, code integrity is for cases where security requirements are stringent, and not for a generic laptop or so.<br> <p> <span class="QuotedText">&gt; For example, the second you have some kind of interpreter (like bash or python) available you can run essentially arbitrary code anyway.</span><br> <p> This is being worked on, the brand new AT_EXECVE_CHECK option in 6.14 is exactly intended to allow interpreters to plug those use cases. It's absolutely true that interpreters are not covered right now, but (fingers crossed) there should be something usable for at least a couple of interesting interpreters this year if all goes according to plans.<br> </div> Fri, 21 Feb 2025 16:16:06 +0000 systemd's Image Obsession Misses the Forest for the Files https://lwn.net/Articles/1011300/ https://lwn.net/Articles/1011300/ alexl <div class="FormattedComment"> Theoretically there is nothing that prohibits adding kernel support for IPE to e.g only allow executing binaries from a signed composefs mount, although you are right that this doesn’t currently exist.<br> <p> However, I think IPE is only useful for setups that are extremely locked down. For example, the second you have some kind of interpreter (like bash or python) available you can run essentially arbitrary code anyway. For any kind of more generic system that can run code more dynamically it will not be applicable. For example, you could never use it on a personal laptop or a generic server.<br> </div> Fri, 21 Feb 2025 15:17:41 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011178/ https://lwn.net/Articles/1011178/ donald.buczek <div class="FormattedComment"> Yes, you are right. The documentation is good for our needs, but not necessarily for others. Since we run our own in-house distribution, which is not only very different from other distributions but also from the typical target system that the systemd developers primarily have in mind, we have to integrate everything ourselves anyway and need to understand the details to do so. We don't need high-level user guides. Before making changes that affect systemd configuration, I often re-read the relevant systemd man pages from front to back. My positive experience is that the documentation for systemd is almost always sufficient. My experience with many other products is that you end up analyzing the sources after a very short time because the documentation is unclear, incomplete, contradictory or wrong.<br> <p> Occasionally reading Lennard's “PID Eins” blog is more of a leisure activity, but it sometimes gives you ideas about whether one or the other idea or a new systemd feature could be useful for us as well.<br> <p> <p> <p> </div> Fri, 21 Feb 2025 07:38:50 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011177/ https://lwn.net/Articles/1011177/ Cyberax <div class="FormattedComment"> Most of the Lennart's blog posts linked on systemd.io predate journalctl. So they miss a lot of functionality that is useful for people (e.g. checking logs only from the current invocation of the service).<br> <p> FWIW, I have a personal wrapper around systemd (`scl`). It started as an alias to `systemctl` because I didn't want to keep breaking my fingers typing it all the time. Then I added some obviously missing functionality like starting a service and viewing its logs in one command (like `docker compose up` does, for example). I think a lot of hostility to systemd could have been avoided, if something like this existed.<br> </div> Fri, 21 Feb 2025 07:08:41 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011175/ https://lwn.net/Articles/1011175/ zdzichu <div class="FormattedComment"> Like <a href="https://0pointer.de/blog/projects/journalctl.html">https://0pointer.de/blog/projects/journalctl.html</a> ?<br> </div> Fri, 21 Feb 2025 06:56:11 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011162/ https://lwn.net/Articles/1011162/ Cyberax <div class="FormattedComment"> Yes, it's pretty old, but I love it as an example. I had its A0-sized printout on a wall at one point around 15 years ago. And it has been updated a bunch of times, of course. The updated version that I linked is still pretty accurate.<br> <p> And speaking of old, systemd.io links to the series of Lennart's blog posts from 2010-2012. They're also still mostly accurate, fwiw, but do miss stuff like practical uses of journalctl.<br> </div> Fri, 21 Feb 2025 00:23:50 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011159/ https://lwn.net/Articles/1011159/ bluca <div class="FormattedComment"> "This article is based on the 2.6.20 kernel" and that's THE BEST example you could find of what in your head constitutes good documentation? Nearly 20 years out of date? lol, lmao<br> </div> Thu, 20 Feb 2025 23:54:39 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011158/ https://lwn.net/Articles/1011158/ Klaasjan <div class="FormattedComment"> Understood, thanks.<br> It would be nice if RedHat’s documentation was available under a free enough license so that it could be hosted on Debian.org as well.<br> Cheers<br> </div> Thu, 20 Feb 2025 23:36:05 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011156/ https://lwn.net/Articles/1011156/ Cyberax <div class="FormattedComment"> Sorry. systemd.io is not any less messy.<br> <p> To give an example of a good doc: <a href="https://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg">https://upload.wikimedia.org/wikipedia/commons/3/37/Netfi...</a> from <a href="https://wiki.linuxfoundation.org/networking/kernel_flow">https://wiki.linuxfoundation.org/networking/kernel_flow</a> A very clear but detailed overview. <br> <p> I actually looked, and I can't find anything similar for systemd. I've been following its development for years, but I can't outright tell how symlinks, overrides, and other machinery work together.<br> </div> Thu, 20 Feb 2025 23:33:20 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011153/ https://lwn.net/Articles/1011153/ bluca <div class="FormattedComment"> systemd works the same everywhere - it's one of its main selling points vs what came before. 99.99% of what you find on RH's documentation will apply to Debian or any other distribution running systemd too.<br> </div> Thu, 20 Feb 2025 23:18:34 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1011152/ https://lwn.net/Articles/1011152/ Klaasjan <div class="FormattedComment"> Aha!<br> Now, what if I run systemd on a Debian system?<br> (Honest question, since indeed I do)<br> </div> Thu, 20 Feb 2025 23:14:50 +0000 systemd's Image Obsession Misses the Forest for the Files https://lwn.net/Articles/1011105/ https://lwn.net/Articles/1011105/ bluca <div class="FormattedComment"> <span class="QuotedText">&gt; This is completely wrong. Composefs checks at initrd that the fs-verity digest of the composefs image is the expected value, similar to how you would verify the root dm-verity digest of the rootfs block device.</span><br> <p> No, that is completely wrong. With signed dm-verity + IPE the enforcement is done by the kernel on every single binary or library being executed, at any time, at runtime, forever. That's the point of code integrity.<br> <p> You cannot do that with composefs, because the security model is different and fully trusts userspace. So a userspace process that has escalated privileges can simply replace the composefs mounts with anything of their choosing, and run whatever they want. A userspace attacker that has escalated privileges on a dm-verity system cannot do that, as they would need a signed volume and they do not have access to a private key trusted by the kernel keyring, so taking control of userspace is not enough, you also need to take control of the kernel, which is much harder.<br> </div> Thu, 20 Feb 2025 16:03:23 +0000 systemd's Image Obsession Misses the Forest for the Files https://lwn.net/Articles/1011100/ https://lwn.net/Articles/1011100/ alexl <div class="FormattedComment"> <span class="QuotedText">&gt;&gt; I don't see a difference between having the dm-verity signature checked by the kernel, and having the composefs erofs file checked from user space in the initramfs (assuming the FS is LUKS protected), it's just different pieces of code in a UKI no ?</span><br> <p> <span class="QuotedText">&gt;The difference is huge: in the former case integrity is enforced at _all times_ by the kernel, at runtime, so it's resilient against online attacks. In the latter case, integrity is only checked _once_ during boot, and never again. Again, the use cases are different: in the first case security checks are done always, in the latter case they are there for offline protection of data at rest. The second model is strictly weaker. Which might be fine, mind you - as always it depends on the threat model.</span><br> But if your threat model does include online attacks by malicious privileged processes (and for our case in Azure it very much does), the first model can mitigate it, the second one cannot.<br> <p> This is completely wrong. Composefs checks at initrd that the fs-verity digest of the composefs image is the expected value, similar to how you would verify the root dm-verity digest of the rootfs block device. <br> <p> After that, each file access is validated by fs-verity at runtime. This includes reads of the EROFS image that has the metadata, as well as the backing files. And the expected fs-verity digests for the backing files are recorded in the EROFS image, and validated each time a backing file is opened.<br> <p> The only difference between dm-verity and composefs is that dm-verity validates at the block level, and composefs verifies at the file level. This means that an attacker could modify the filesystem at the block level to "attack" the kernel filesystem parser. However, this difference is very small in practice. Only in a system using dm-verity for a read-only root, and *no* other filesystems does it make a difference. The moment you mount a filesystem for e.g. /var, then an attacker could just as well attack that. Any "solution" to that, such as dm-crypt would also apply to the composefs usecase.<br> <p> <p> </div> Thu, 20 Feb 2025 15:37:48 +0000 Lack of understanding of fundamentals even after 14 years https://lwn.net/Articles/1010995/ https://lwn.net/Articles/1010995/ walex <div class="FormattedComment"> «leave the personal insults»<br> <p> I will strive to never call again Poettering a "a very intelligent person" again on LWN. That is the only comment I made as to his person.<br> </div> Thu, 20 Feb 2025 11:39:10 +0000 systemd's Image Obsession Misses the Forest for the Files https://lwn.net/Articles/1010981/ https://lwn.net/Articles/1010981/ Rigrig <blockquote>If this is imposed on users (e.g. their phones), then we have a problem</blockquote> I run shell (and other) scripts on my phone using <a href="https://termux.dev">Termux</a>, and W^X is indeed <a href="https://github.com/termux/termux-app/issues/2155">a problem</a>: (apparently also for <a href="https://github.com/BOINC/boinc/issues/5941">BOINC</a>) <ol> <li>"Recent" Android API versions enforce W^X, so Termux is either <ul> <li><a href="https://f-droid.org/en/packages/com.termux/">F-Droid</a>: built against an older version. This generates warnings, is not accepted into the Play Store, and might eventually stop working if/when Android breaks BC for that version.</li> <li><a href="https://play.google.com/store/apps/details?id=com.termux">Play Store</a>: using <a href="https://github.com/termux-play-store/termux-exec/blob/master/site/pages/en/projects/docs/technical/index.md#exec">trickery to override <code>exec()</code></a>. This has various <a href="https://github.com/termux-play-store/termux-exec/blob/master/site/pages/en/projects/docs/technical/index.md#system-linker-exec-issues">drawbacks</a> though.</li> </ul> </li> <li>Downloading+running executable code seems to be against Play Store policies, so it might get randomly removed at any time anyway.</li></ol> Thu, 20 Feb 2025 10:40:19 +0000 Rust and dynamic linking https://lwn.net/Articles/1010986/ https://lwn.net/Articles/1010986/ farnz There's three ways to deal with dynamic linking in Rust: <ol> <li>As an implementation detail of a coherent whole. In this case, you don't care that <tt>libmyapp.so</tt> has an unstable ABI, because it's built with the same compiler as <tt>myapp-bin1</tt> and <tt>myapp-bin2</tt>, so an unstable ABI is A-OK with you. <li>Put a psABI shim around the Rust functions, and have a hand-maintained ABI, the way <tt>glibc</tt> does things in C land. This restricts the ABI you can use to the psABI (no generics, for example), but means that you have complete control and can make your ABI stable. <li>Help out with the <a href="https://github.com/rust-lang/rust/issues/111423">experimental crABI work</a>, which aims to produce an external ABI that's more capable than current psABIs, then put a crABI shim around the Rust functions, and maintain a stable ABI that way. </ol> <p>Which one is right for you is a decision that depends on the project goals. Thu, 20 Feb 2025 10:23:27 +0000 NFS and systemd automount units https://lwn.net/Articles/1010988/ https://lwn.net/Articles/1010988/ farnz Out of interest, why can't you use an <a href="https://www.freedesktop.org/software/systemd/man/latest/systemd.automount.html">automount unit</a> for your NFS mount? This has the properties you would want for a network FS, of remounting automatically if the NFS server is missing, and of not blocking anything until the first access to a file on the mount point. Thu, 20 Feb 2025 10:20:05 +0000 DLL hell, version 2 https://lwn.net/Articles/1010985/ https://lwn.net/Articles/1010985/ bluca <div class="FormattedComment"> Sure but that is all programmatically discoverable. What is needed is encoded both at the ELF level, with the dlopen note, and at the package level, with the recommends/suggests or equivalent for RPM. So the bug reporting tool(s) should query for such information when assembling the report.<br> You can't have optional dependencies if they are not optional...<br> </div> Thu, 20 Feb 2025 09:58:25 +0000 Images are required for verified boot https://lwn.net/Articles/1010984/ https://lwn.net/Articles/1010984/ bluca <div class="FormattedComment"> ...yes? That's the point of a userspace reboot?<br> </div> Thu, 20 Feb 2025 09:57:05 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1010983/ https://lwn.net/Articles/1010983/ bluca <div class="FormattedComment"> That sort of documentation is provided in systemd.io rather than in manpages, and for even higher level stuff there are excellent admin/user guides provided by RedHat<br> </div> Thu, 20 Feb 2025 09:56:21 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1010977/ https://lwn.net/Articles/1010977/ Wol <div class="FormattedComment"> The problem is (a) what does the reader want the docs for, and (b) why did the writer write the docs.<br> <p> Most developer documentation is great for reminding you of what you already know. It is absolutely hopeless at teaching you how to use the system. That's why beginners make the same mistakes over and over again - from their point of view Double Dutch would probably make more sense.<br> <p> I've had exactly that with systemd - I don't know where to start looking, so I can't find anything, and what I do find I can't make sense of. That is where so much stuff (not just computing) is severely lacking nowadays. We've just bought a new modern tv, which thinks that the main purpose of the user manual is to tell you where to plug the leads in. Of course, we don't have a clue how to use it, everything is trial and error, and it's so damn complicated that we can't find anything! We just want a tv we can turn on and watch!!!<br> <p> And of course, most documentation FOR beginners is written BY beginners, so it's full of beginner grade errors :-(<br> <p> Cheers,<br> Wol<br> </div> Thu, 20 Feb 2025 09:34:00 +0000 systemd - no rhyme or reason https://lwn.net/Articles/1010979/ https://lwn.net/Articles/1010979/ mathstuf <div class="FormattedComment"> I feel they are similar to the CMake docs: detailed in the what. Not all that clear on the how or why. I *can* piece together how to set up a "reload service X on a timer or when $path changes", but an example would go much farther.<br> </div> Thu, 20 Feb 2025 09:32:53 +0000 DLL hell, version 2 https://lwn.net/Articles/1010978/ https://lwn.net/Articles/1010978/ mathstuf <div class="FormattedComment"> There is one downside to the behavior changing depending on whether a library happens to be found or not: debugging problems that only occur in the presence (or absence) of the library without indication of the runtime state is a royal pain. "Why is machine X compressing and Y not? They both have the required libraries…oh wait they were installed this boot on Y and missing when it started up." kind of stuff.<br> </div> Thu, 20 Feb 2025 09:31:08 +0000