Re: kmods and Fedora

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 14, 2016 at 3:04 PM, Ian Malone <ibmalone@xxxxxxxxx> wrote:
> On 14 January 2016 at 19:29, Andrew Lutomirski <luto@xxxxxxx> wrote:
>> 2. Assuming that shipping an out-of-tree module is okay, is akmod a good
>> mechanism?
>>
>> I would argue strongly that akmod is *not* a good mechanism.
>>
>> Clearly any end-user-box-builds-modules system needs the package manager to
>> pull in the right devel stuff.  This is clearly a solvable problem.
>>
>> But akmod in particular has a really nasty built-in assumption: it assumes
>> that the running kernel came from an RPM at all.  For people who write
>> kernels, this utterly sucks.  For example, I have no intention of rpm-ifying
>> every test kernel I build for my laptop.  I install them according to the
>> standard arrangement, which "make install" can do just fine.  There are
>> symlinks in standard places that a kmod build system could find.  Akmod
>> can't do that.  Akmod also can't figure out what to make its freshly-built
>> rpm depend on because there is no correct answer.
>>
>> I think that, if Fedora were to adopt a kmod build system: it should have a
>> QA requirement: if you "make modules_install && make install" a kernel and
>> boot into it, the kmod system should work.  Akmod fails utterly in that
>> scenario.
>>
>
> I don't quite get this one, if you build any package from a non-rpm
> source it's not a given that rpm modules will work with it.

Of course there's no guarantee, but IMO it should at least try rather
than just failing utterly because the kernel doesn't come from an rpm.

> Akmod is
> really a convenience for people reliant on non-tree modules who are
> also using the distribution rpm kernel, so they have a chance of
> getting a working module whenever the kernel updates. If you're
> building your own kernel you probably know when you've done it and how
> to build the module.
>

I disagree here.

I use the nvidia binary module from rpmfusion on one machine because
its card isn't supported by nouveau yet.  I also sometimes prefer to
run my own kernels (to test, to develop, to benchmark, or to enable
new hardware -- I write kernel drivers on occasion).  But installing
the nvidia driver from the nvidia-provided script is a colossal mess
-- I have no reason to believe that it won't clobber something, that
it will uninstall correctly, etc.  The rpmfusion version is nicely
packaged, but the actual kernel module part simply refuses to try to
install.

If there was a good, concrete benefit to its refusal to install, I'd
be more understanding, but AFAICT it's just doing complicated things
with packaging for no particularly good reason.

If, for example, it simply installed into
/lib/modules/VERSION/akmod/path/to/driver.ko, then rpm could be taught
to delete /lib/modules/VERSION when the corresponding kernel package
goes away (either using a scriptlet in the kernel package or an RPM
trigger, I imagine), and everything would work nicely without
injecting extra rpms into the system.

--Andy
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux