Building a module from outside the kernel tree

Denis Leroy denis at poolshark.org
Mon Oct 9 10:21:47 UTC 2006


Matthias Saou wrote:
> Richard Hughes wrote :
> 
>> On Thu, 2006-10-05 at 13:36 -0400, Bill Rugolsky Jr. wrote:
>>> I've used DKMS for ecryptfs, unionfs, qvm86, and a few other drivers,
>>> and it is no hassle at all.  Recent versions even have mkrpm and mkkmp
>>> (Kernel Module Package) commands.
>> It's also been working great for me [for years] for ov518 webcam
>> support. You have no idea how nice it is to compile some wacky -mm
>> kernel, fire it up, and have all your hardware working without having to
>> manually do this yourself.
> 
> I'd be interested in doing the same for the acx100 module, or
> preferably the cleaned up and softmac based tiacx module from here :
> 
> http://www.kernel.org/pub/linux/kernel/people/linville/
> 
> But the files, especially the included Makefile, are meant for the
> module to be built at the same time as the kernel. The usual "make
> -C /lib/modules.../build -M `pwd`" doesn't work, and I'm really not
> familiar enough with makefiles, nor with the special makefile kernel
> magic to understand how to adapt this :
> 
> acx-common-y := wlan.o ioctl.o common.o
> acx-usb-y := usb.o
> acx-pci-y := pci.o
> 
> obj-$(CONFIG_ACX_PCI) += acx-common.o acx-pci.o
> obj-$(CONFIG_ACX_USB) += acx-common.o acx-usb.o
> 
> If anyone knows what needs to be changed to get both modules built,
> please let me know. Too bad this modules hasn't made it into 2.6.18 :-(

Was able to build with makefile below. also, remove all occurrences of 
'#include <linux/config.h>', and add '#include <linux/utsrelease.h> to 
the file pci.c

----------------------------

acx-common-y := wlan.o ioctl.o common.o
acx-usb-y := usb.o
acx-pci-y := pci.o

obj-m += acx-common.o acx-pci.o
obj-m += acx-common.o acx-usb.o

KERNEL:= $(shell uname -r)
KDIR:= /lib/modules/$(KERNEL)/build
PWD:= $(shell pwd)

all:
	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules




More information about the fedora-devel-list mailing list