[systemd-devel] Make systemd-localed modify the kernel commandline for the initrd keymap?

Colin Walters walters at verbum.org
Mon Nov 25 22:22:57 UTC 2019



On Thu, Oct 31, 2019, at 12:26 PM, Lennart Poettering wrote:

> Well, what I proposed is a file. OSTree can cover files on disk, no?

Yes...we can try to figure out an extension to version them.

> I doubt on AWS you want to configure keymaps though, do you?

No, but there are similar server cases:

 - iSCSI which apparently has quite nontrivial configuration files (things you wouldn't ergonomically do in the kernel cmdline) so they end up requiring regenerating the initramfs.
 - Tang/NBDE https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Network-Bound_Disk_Encryption.html

And for OpenShift 4 we are aiming to support NBDE even in clouds like AWS for a few reasons; some customers don't want to 100% rely on EBS encryption, and supporting it everywhere makes our story for bare metal installation more consistent.

Finally another case just came up, which is enabling some real-time kernel tuning:
https://bugzilla.redhat.com/show_bug.cgi?id=1775917

Today tuned injects some bits into the initramfs for this - specifically we need to configure systemd in the initramfs for the `CPUAffinity`.

I've lately been thinking maybe we should just generalize this and introduce: /boot/etc

The initramfs then can mount /boot and read files from it (or just copy in over its own /etc).   
One downside of this though is that it doesn't apply to PXE/NFS-root (diskless) scenarios.  Those need either an overlay initramfs or kernel cmdline.

Though, I guess for CPUAffinity we really need this set up and readable before systemd even starts.  Hmm. 

So maybe we really need systemd.cpuaffinity= as a kernel argument - and in general, anything necessary for the kernel or systemd in the initramfs need to be kernel arguments.  Anything after that could be /boot/etc or an overlay initramfs.





More information about the systemd-devel mailing list