On Fri, Feb 7, 2020 at 4:00 AM Daniel Mach <dmach@xxxxxxxxxx> wrote: > > > > Dne 06. 02. 20 v 19:54 Zbigniew Jędrzejewski-Szmek napsal(a): > > Hello kernel maintainers, hello Fedora developers, > > > > I'm looking into the split of kernel packages. The split into subpackages > > seems interesting, but there are many dependencies between the packages, > > so it is usual to end up with all of them installed. > > > > E.g. for a simple VM, by design, kernel-core contains a basic set of > > modules that should be enough to boot. I see that in a standard > > libvirt guest, the only modules from kernel-modules that are loaded > > are for sound hardware and "usbnet", all which I'd be fine without. > > > > Another example: we'd like to explore building an initramfs directly > > from rpms, without dracut, only systemd and a standard packages to > > bring up the hardware. Some modules need to be installed, so the > > kernel can load the from the initramfs, but the kernel itself should > > not, since it is provided "externally" by the boot loader. > > > > But: > > the basic modules are in one rpm with kernel-core > > kernel-core Requires linux-firmware (which is 240MB) > > kernel-modules Requires kernel-uname-r, which is provided by kernel-core > > kernel Requires kernel-core-uname-r, kernel-modules-uname-r > > > > Would it be possible to make some changes: > > > > - split out the modules from kernel-core package into a new subpackage > > kernel-basic-modules, kernel-core can Recommend or Require it > If you're after generating a minimal initramfs, this still doesn't solve > the problem. In many cases you need kernel-core *and* several modules. > > An option would be splitting the modules into individual RPMs and > installing only those we need. But it is a bad idea (remember texlive > and it's subpackage explosion). > > I was thinking if you couldn't look into using a similar approach to the > %_install_langs macro - simply define modules you want installed, the > others would be skipped. > > > > > - remove the Requires on kernel-core (or change to Recommends) from > > kernel-modules, so it can be installed standalone > > > > - move the Requires:linux-firmware (or change to Recommends) from kernel-core, > > have kernel Requires:linux-firmware > It would be nice to introduce hardware specific Requires implemented. > If you have the hardware, a Provide would be dynamically generated (an > udev rule?) and used in rich dependencies to pull the firmware package > you need. > > I believe SUSE is doing something similar already, but I don't quite > like references to PCI-IDs, for example: > Supplements: (kernel-default and > namespace:modalias(pci:v000080EEd0000BEEFsv*sd*bc*sc*i*)) > > We already have kmods generate modalias provides if they're associated with hardware, I think? So it wouldn't be that bad to have DNF trigger inject virtual supplements that would pull in kernel modules. -- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx