Lennart Poettering

@pid_eins
8.6K Followers
358 Following
2.5K Posts

Coming soon to #postmarketOS Duranium...

System extensions!

Age verification clearly doesn't belong into #systemd. We should have never merged this. Instead this should be incrementally added to the kernel itself. I'm doing my part:

https://lore.kernel.org/all/20260401-i-hope-someone-believes-this-is-real-04f24e03944e@brauner

[PATCH] vfs: require verified birth date for file creation - Christian Brauner

Finally had a go at solving one of my biggest pet peeves with booting up Linux, having to add console=ttyS0 or console=hvc0 or console=<god-knows-what> to the kernel command line to get output on the serial console. With https://github.com/systemd/systemd/pull/41387, systemd-stub will now try to auto-detect whether a single virtconsole or serial console is attached without graphics output and append console= to the kernel command line automatically so you get output on the serial console automatically.
While work on the varlink-http-bridge for systemd I had this idea that a lot of the tech could be used to build an #MCP for systemd via #varlink. So here it it is: https://github.com/mvo5/systemd-mcp - it auto-discovers systemd's varlink sockets, introspects the IDL, and exposes every method as a typed tool. On a typical system that's 50-80+ tools: units, journals, credentials, factory reset, you name it. What could possibly go wrong :) ? (requires systemd v260+)
GitHub - mvo5/systemd-mcp: Your friendly connection to PID1 - what could possibly go wrong?

Your friendly connection to PID1 - what could possibly go wrong? - mvo5/systemd-mcp

GitHub
It's not immutable, it's Amutable! Super excited to see where this team is going with #systemd and #linux

I just finished my #systemd260 series of posts. And I now also prepped a blog story linking to every single one of them here:

https://0pointer.net/blog/mastodon-stories-for-systemd-v260.html

Make sure to stay tuned for the #systemd261 series, most likely starting already in a few weeks!

Mastodon Stories for systemd v260

Posts and writings by Lennart Poettering

The last remaining step, i.e. #2 I am currently working on.

Once that's in place an interactive OS installer could then just install an OS very cleanly, very robustly, and very quickly via 4 Varlink IPC calls. Yay!

…API for it. This is useful as a backend for OS installers.

To provide a bigger picture: in my view of the world an OS installer does four things:

1. Stream in a /usr/ tree and very few auxiliary partitions via systemd-repart
2. Install a suitable UKI kernel image in the ESP or XBOOTLDR
3. Install systemd-boot as boot loader in the ESP
4. Configure a few basic parameters for the new installation via systemd-creds.

Of these 4 steps, #1, #3 and #4 now are accessible via nice Varlink APIs.

2️⃣1️⃣ Here's the 21st and last post highlighting key new features of the recently published v260 release of systemd. #systemd260 #systemd

If you have been following this series of posts I am sure you recognized some repeating themes. One of them is the progressing Varlinkification of systemd's functionality. The last item on my list of features to post about for v260 is another one in this theme:

"bootctl install" is what gets systemd-boot installed in your ESP. With v260 there's now a Varlink…

…which is enough to run a full OS inside a system service. Yay!

And not just that: it also works unprivileged, i.e. it's enough to also run a full OS with 64K UIDs from a user controlled directory tree. Yippieh yay!