Hacker News new | ask | show | jobs
by klaasvakie 4445 days ago
Does anyone know if this quote is true?:

"Since systemd is very tightly welded with the Linux kernel API, this also makes different systemd versions incompatible with different kernel versions."

I was pretty meh about the whole systemd thing, but having to change userspace when swopping out kernels is a spectacular disadvantage. Imagine having to downgrade your distro whenever you need to test against older kernels --- madness.

This is especially bad with ARM/embedded stuff where one often runs a modern userspace with an older kernel.

1 comments

In my experiece, upgrading the kernel to a newer one is not a problem. What can happen, though, is that an upgrade of userspace will suddenly require a kernel-feature not present, if you run an ancient board-support-package with a 3.0-kernel or so in 2014! (happened to me with a BSP for a Freescale i.MX6).

So, if you have archlinux tracking the latest and greatest systemd, uptrading userland can make your machine no longer bring up everything (completely). But in my case the kernel is from 2011...

systemd README claims compatibility with 3.0 kernel:

http://cgit.freedesktop.org/systemd/systemd/tree/README#n39

Upgrading the kernel to a newer one isn't generally a problem, but the changes to cgroups that the systemd and kernel devs are planning to make in the future are not going to be backwards compatible with old userland code.
I have an i.MX5 BSP with a 2.6.xx era kernel :(

Can you give an example of the "no longer bring up everything (completely)"?

After putting a current arch-linux rootfs[1] on the box[2], it seems to come up, just network and console seems to be misconfigured, but this, I think, I had to fix the last time also. So: indeed the current systemd seems to work on a iMX6 running a 3.0 kernel.

[1] ArchLinuxARM-imx6-latest.tar.gz from http://archlinuxarm.org/developers/downloads

[2] Phytec PhyFlex i.MX6 http://www.phytec.de/de/produkte/system-on-modules/produktde...

### addendum ###

Recent systemd doesn't seem to realize that ethernet and the serial console device are actually there, it's waiting for dev-ttymxc3.device and sys-subsystem-net-devices-eth0.device ... but both are statically compiled in. So there is some issue with kernel 3.0.x.

I was missing one config option from the README, now it works!