[Nix-dev] systemd in initrd

Luca Bruno lethalman88 at gmail.com
Wed Sep 3 22:01:25 CEST 2014


Progress, or better one step forward, and one backward. I've tried to let
systemd pass its state to the new root systemd, without passing with a
stage 2 init. I failed, somehow systemd could not find some information
after switching root (like /run being umounted, or such).
Also running stage 2 as initrd service was a very hacky solution.

Perhaps, we can pass through an intermediate step, which is the first
experiment: use systemd as initrd process, then pass the ball to the usual
stage 2 init.

I've cleaned up several stuff, and I'd like to share a good result.
Reaching stage 2 with systemd takes 1.7s, while with the old initrd it
takes 2s.

systemd initrd is currently missing the resume, and lvm / luks stuff and
file system checks. So that may also take some relevant time. However it's
a good news it already takes a little less than usual to boot into stage 2.

Another regression is that stage 2 and systemd itself only show messages to
kmsg. It's like the console can't be used:
machine# [    1.592771] systemd[1]: Failed to acquire terminal: No such
file or directory

Not sure what I'm missing.

I will keep working on this, and porting bit by bit all the existing
things. Big todos are lvm, luks, resume and the installer.

The branch is at https://github.com/lethalman/nixpkgs/tree/systemd

Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20140903/0d52d959/attachment.html 


More information about the nix-dev mailing list