On 03/01/2005 10:43:58 AM, Mike Hearn wrote:
This solves the following problem:
Bill sets up a Linux system for Sally. She does a "yum upgrade" because she knows it's important to stay up to date to be secure. The kernel is changed, and as a result various things break even though the update was fixing a race condition in a syscall implementation. She does not know how to fix it.
There's a better solution. It involves having a compiler on the system.
kernel modules that are not part of the kernel proper should have their source in somewhere, like /usr/src/bizarro/modules (or whatever ;)
A text file - /etc/bizarro.txt contains the names of these modules.
An init script tests for the existince of the modules in the running kernel module tree. If any are not found, it links the module for the running kernel and put it where it goes.
In this way - when you update the kernel, your madwifi (or whatever) driver gets updated for the new running kernel the first time you boot into the new kernel.
I've seen this done before - I think with a mpeg2 decoder card - and it actually works, most of the time. When it doesn't work, it's because the kernel changed in such a way that the module broke - and nothing other than update from the module vendor will fix that.
-- Michael A. Peters http://mpeters.us/