install different kernels with conflicting kernel-firmware?
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
install different kernels with conflicting kernel-firmware?
I have for many years had multiple kernel versions installed on various machines running various Linux distros without any problems.
My current setup is a machine running CentOS 6.5, with a 3.10.32 kernel from CentOS, and a 2.6.32 kernel I compiled myself. I use Grub to choose which kernel to boot. But recently, I came across an issue I've never previously encountered. I want to install the newer 3.18.21 kernel while keeping the old 3.10.32 kernel. To make sure the old kernel is kept, I decided to do this manually using rpm. So I used yumdownloader to download:
kernel-3.18.21-16.el6.x86_64.rpm and the required dependency
kernel-firmware-3.18.21-16.el6.noarch.rpm
Doing rpm -i kernel-3.18.21-16.el6.x86_64.rpm throws up an error message saying the kernel-firmware dependency is missing. But when I do rpm -i kernel-firmware-3.18.21-16.el6.noarch.rpm, I get an error message saying the new package conflicts with the existing
kernel-firmware-3.10.32-11.el6.centos.alt.noarch for the existing 3.10.32 kernel. So how do I install both kernels together with their required firmware?
If I do yum install kernel instead, it doesn't complain; I just get:
======================================================================
Package Arch Version Repository Size
======================================================================
Installing:
kernel x86_64 3.18.21-16.el6 Xen4CentOS 36 M
Updating for dependencies:
kernel-firmware noarch 3.18.21-16.el6 Xen4CentOS 6.4 M
But the 'updating for dependencies' bit still worries me. Does it mean that the existing firmware for the 3.10.32 kernel will be wiped out and replaced with the new version? As I see it, the trouble is that the /lib/firmware directory has no subdirectories distinguishing between different kernels, unlike /lib/modules, say.
Not sure about automated firmware installs, but reality is much simpler. Say, one of your kernel drivers requires blob-version-0, so you have it in /lib/firmware. The driver in a newer kernel may require this same version, or it may need a newer version blob-version-1. Both firmwares can happily co-exist and both your kernels will be happy.
Not sure about automated firmware installs, but reality is much simpler. Say, one of your kernel drivers requires blob-version-0, so you have it in /lib/firmware. The driver in a newer kernel may require this same version, or it may need a newer version blob-version-1. Both firmwares can happily co-exist and both your kernels will be happy.
Thanks for your answer.
I've compared the files in the new rpm kernel-firmware-3.18.21-16.el6.noarch.rpm with the existing files in /lib/firmware, and most of the file names are exactly the same. I then extracted
kernel-firmware-3.18.21-16.el6.noarch.rpm to a temporary directory and tested a few files with diff, and sure enough they're identical files. So can I be sure that all blobs with the same file names are in fact identical? If so, I can happily go ahead and install the new kernel along with its firmware.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.