Out Of Tree compilation of kernel modules

(note: advanced topic)

This page gives some hints on how to compile the 1394 kernel drivers for a preinstalled kernel. This can be useful when distributions install a kernel with the wrong kernel stack installed.

The first thing you need is the kernel sources for your kernel. Get them using the standard mechanism for your distribution and unpack them somewhere. Now copy the drivers/ieee1394 directory to some place (here assumed to be /tmp/driver_source).

Then issue the following commands:

cd /lib/modules/`uname -r`/build
make M=/tmp/driver_source

This will build the drivers in the /tmp/driver_source directory. You can then copy the .ko files into the /lib/modules/uname -r/kernel/drivers/ieee1394 directory.

It can be that you have to change the makefile in /tmp/driver_source in order for the modules to build. You might want to change the following lines:

obj-$(CONFIG_IEEE1394) += ieee1394.o
obj-$(CONFIG_IEEE1394_OHCI1394) += ohci1394.o
obj-$(CONFIG_IEEE1394_RAWIO) += raw1394.o

into

obj-y += ieee1394.o
obj-y += ohci1394.o
obj-y += raw1394.o