Ubuntu kernel updates
Alexander Brinkman
a.brinkman at marin.nl
Thu Jun 7 10:41:05 CDT 2007
Hi all,
I'm having a problem with DKMS and Ubuntu kernel updates and I'm
uncertain on what the best solution would be...
The problem is as follows:
Ubuntu kernels have a name (for instance): linux-image-2.6.15-28-686
And version number (for instance): 2.6.15-28.53
In case a kernel is upgraded from, let's say, 2.6.15-25 to 2.6.15-28 all
is fine. However problems arise with DKMS when the kernel is upgraded
from 2.6.15-28.53 to 2.6.15-28.55. This is because
the /lib/modules/2.6.15-28-686 directory will get overwritten with the
new kernel modules, possibly also overwriting custom built DKMS kernel
modules. This might leave the system in a broken state.
Btw: dkms status will detect the problem by noticing the modules as
installed but different from the built modules.
Solutions:
The manual way to fix this is doing a dkms uninstall / dkms install
cycle, which is not very pretty (if dkms install --force would work, it
would be a bit better, but still not good enough ;)).
I would be very interested in an automatic way to fix this, either by
letting dkms fix the problem automatically, or avoid the problem in the
first place. Having to do this manually can not only be a very time
consuming operation, it might also prove to be very difficult. For
instance when the DKMS provided network driver is failing (no network
driver is no remote access to the server ;( )
Automatic fixing could be done by force re-installing built modules that
differ from installed modules. This could possibly overwrite manually
user-built modules (although that is not very likely if the module was
already built using the DKMS framework), but at least it would leave the
system in a working state.
The other way, as I said, is avoiding the problem all together. Possibly
by automatically build or reinstall DKMS modules when a new kernel is
installed. On Ubuntu and Debian however, I believe this is a very hard
thing to do. It is possible to create a hook whenever a new kernel is
installed, but that won't work because you would also need the kernel
headers (which is in a different debian package) and they might not be
installed until later on... The alternative would be to trigger a script
after the kernel headers are installed, but as I understand this is not
possible at the moment (dpkg triggers is still a draft-feature).
Any thoughts on the best way to proceed?
Best regards,
Alexander Brinkman,
MARIN.
--------------------------------------------------------
More information about the DKMS-devel
mailing list