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*))
I think this would be useful for playing with various minimization scenarios.
Zbyszek
_______________________________________________
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
_______________________________________________
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