This is a tracking bug for Change: mkosi-initrd For more details, see: https://fedoraproject.org/wiki/Changes/mkosi-initrd mkosi-initrd is an alternative builder for initrds. It will be packaged in Fedora, so that users can use it to build initrds locally. A kernel-install plugin will be provided to build the initrd when a kernel package is installed. As a stretch goal, initrds will be build in koji and delivered via rpm packages. As a further stretch goal, pre-built initrds will be used in Unified Kernel Images that can be delivered via rpm packages.
The work on this was blocked. There's still some chance it'll be done for F39, but a postponement to F40 is likely at this point.
We are now past beta freeze, at which point this should have been 100% complete. Should we just go ahead and defer it to F40 now?
Yep.
Hi Zybzsek, How is this work progressing for F40? Is this still on track to land? Any status updates you have would be most welcome :) Thanks! Aoife
We might just as well bump it to F41. Stuff is happening, but it's not ready for prime time yet.
I see that the change lists the stretch goal of building initrds in koji. How would one determine the packages and more importantly kernel modules which should be included in such a universal initrd? For example Canonical's initrd snap seems to just have a bunch of modules listed without any insights why those are selected: https://github.com/snapcore/core-initrd/blob/main/modules/main/extra-modules.conf Also see the discussion in the mkosi repo: https://github.com/systemd/mkosi/discussions/2403
> How would one determine the packages and more importantly kernel modules which should be included in such a universal initrd? Generally, we'd have a list of hardware that is supposed to work with the default initrd, and a set of storage types, file systems, and other features that are supposed to work. Together, this pretty much directly determines which top-level modules and packages are needed. The rest is pulled in through dependencies.
> Generally, we'd have a list of hardware that is supposed to work with the default initrd Does such a list already exist (and if yes, where)? We am currently looking to obtain such a list because we ship (Fedora-based, mkosi-generated) images to customers with pre-compiled UKIs but they are supposed to run on any machine. Therefore we have no fixed hardware which we can target and including any possible driver results in huge UKIs
No, no such list exists, since we (Fedora) do not ship pre-built images, except for virt. When we add actual pre-built initrds, then we'd have to make such decisions. https://fedoraproject.org/wiki/Changes/Unified_Kernel_Support_Phase_1 added UKIs for virt, and it has the description that it's for virtual machines only. I guess the description could/should be more explicit. The %description for kernel-uki-virt.x86_64.rpm is currently just '%{summary}.' one-liner.