On 04/13/2018 09:34 AM, Grant Edwards wrote:
On Fedora 27 with kernel recently updated to 4.15.15-300.fc27.i686,
I
ran into a problem when I installed a new version of a driver (we'll
call "foo") in /lib/modules/$(uname -r)/kernel/drivers/[...].
Doing a "rmmod foo; modprobe foo" loads the new driver and everything
works great. However, rebooting loads a 15-year old version of the
driver (which doesn't work great).
lsinitrd shows that the 15-year old driver is present in the
initramfs. On a clean install of Fedora 27 (running an identical
kernel version) the initramfs does not contain the "foo" driver at
all.
Did the kernel upgrade process muck up the initramfs by adding the old
version of the "foo" driver? The "old" version is the one
that's
shipped with the kernel package, but I've never seen it included in
the initramfs before.
What's the best way to remove the old, broken driver from the
initramfs so that the driver in the root filesystem is used on boot?
Is there a way to prevent the kernel update process from adding the
driver back to the initramfs the next time a kernel is updated?
Alternatively, I suppose I could add a "service" that runs at boot
time and does a "rmmod foo; modrobe foo", but that seems like the
wrong way to fix this...
Uhm, probably do a "rmmod foo;modprobe foo", THEN rebuild the initramfs
image. Also check both the /etc/dracut.conf file and /etc/dracut.conf.d
directory to see if they're specifying some ancient version of your
module. At worst, add a --add-modules=<modulename>" to the command.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital ricks(a)alldigital.com -
- AIM/Skype: therps2 ICQ: 22643734 Yahoo: origrps2 -
- -
- Death is nature's way of dropping carrier -
----------------------------------------------------------------------