Rebuilding A Kernel Module On The Fly

This wiki page outlines a process that can be used to rebuild a kernel module on-the-fly versus having to rebuild an entire kernel to quickly verify a fix. If this trick saved you time, buy manjo a beer. Smile :)

Do the following in your home directory.

Overview

In your home directory (or chose your working directory).

$ sudo apt-get install linux-source
$ tar xjf /usr/src/linux-source-<version>.tar.bz2

$ mkdir build_module
$ cd ./linux-source-<version>
$ patch -p1 < </path to patch/xxx.patch>
$ make mrproper

From your home directory do
$ cp /lib/modules/`uname -r`/build/.config ./build_module/
$ cp /lib/modules/`uname -r`/build/Module.symvers ./build_module/
$ cp /lib/modules/`uname -r`/build/Makefile ./build_module/

$ cd ./linux-source-<version>
$ make O=../build_module outputmakefile
$ make O=../build_module archprepare
(If you encounter an error at this stage, run make mrproper and return to the last cp above and continue again from there)
$ make O=../build_module prepare
$ make O=../build_module modules SUBDIRS=scripts
$ make O=../build_module modules SUBDIRS=drivers/<patch to driver>/
$cd 

$ sudo cp ./build_module/drivers/<path>/<driver>.ko /lib/modules/`uname -r`/kernel/drivers/<path>/

Kernel/Dev/KernelModuleRebuild (last edited 2013-03-20 21:55:26 by manjo)