On Fri, Feb 7, 2020 at 4:00 AM Daniel Mach <dm...@redhat.com> 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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org

Reply via email to