When a Fedora box uses device drivers that are not supplied by the kernel, updating the kernel is more complicated than installing a new binary rpm. Typically, the external device drivers must also be rebuilt under the new kernel. This document contains instructions for creating and installing the following drivers after a new kernel is installedx:
The following assumptions apply to all procedures in this document:
A shell script (update_kernel_modules.sh) implementing the procedures discussed in this document can be found in the public download area.
Note: This is a straightforward script. It contains no error checking or other amenities. Use it at you own risk.
This procedure assumes the livna rpm packaging of the proprietary Nvidia kernel driver used. More specifically, the procedure is based on a minor variant of the nvidia-glx-1.0.7174-0.lvn.1.3.src.rpm See the document Updating the Nvidia Driver for more details.
Build the kernel module rpm package (at the command prompt enter all this on one line).
rpmbuild -bb --without driverp --target "$(uname -m)" --define "kernel $(uname -r)" ~/src/rpm/SPECS/nvidia-glx.spec
Clean up after the build by deleting the nvidia debug rpm that is generated by this procedure. (Do you want to debug the Nvidia kernel module?)
At this point you could just install the new module using rpm (exercise left for the reader). However, we keep locally built rpm’s in a yum repository so a few more steps are required to complete the installation. First, move the new kernel module to the local yum repository (one line).
mv ~/src/rpm/RPMS/i686/kernel-module-nvidia-$(uname -r)*.rpm ~/local/repo
Update the local yum repository
Install the new driver
sudo yum install "kernel-module-nvidia-$(uname -r)*"
An alternate form of the installation command (useful if you upgrading from a script and don’t want to answer questions).
sudo yum -y install "kernel-module-nvidia-$(uname -r)*"
The SPCA50X USB camera driver is used to support an Intel PC Camera Pro webcam. The driver is not packaged as an RPM so it is built and installed using the standard autotools procedure.
make clean make sudo make install
Reboot. There are ways to activate the new drivers without taking the system all the way down, but the simplest solution is to restart the machine.
Over time we have migrated away from standalone Fedora boxes. We now typically run the Ubuntu Linux distribution as a virtual machine under Parallels on OS X boxes. Canonical is much less shy than Redhat about distributing “politically incorrect” drivers and provides an extensive pre-cooked inventory of drivers that work under Parallels. We rarely need to build kernel modules “from scratch” in this ecosystem. Therefore, this document has not been maintained recently. We continue to publish it because disk space is cheap and there is a remote possibility that someone might find it useful.