Re: Reconfigure kernel for dmx3191d.ko module.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Howarth wrote:
You are probably running kernel 2.6.9-1.667 but have built modules for kernel 2.6.9-prep. Why not follow the instructions at http://crab-lab.zool.ohiou.edu/kevin/kernel-compilation-tutorial-en/ to build yourself a full new kernel with this module included? Or follow the instructions in the release notes to build the module out-of-tree?

Elaborating on this, here's how I built the dmx3191d.ko module using the out-of-tree method.


1. Grab the source for the module:
(a) $ rpm -ivh ../kernel-2.6.10-1.760_FC3.src.rpm
[ I have a local RPM build area ~/BUILD so I don't need to
do this as root ]
(b) $ cd ~/BUILD/SPECS/
(c) $ rpmbuild -bp --target i686 kernel-2.6.spec
[ you'll need to change the target to x86_64 ]
(d) $ mkdir ~/temp; cd ~/temp
(e) Copy the following files from ~/BUILD/BUILD/kernel-2.6.10/linux-2.6.10/drivers/scsi to ~/temp:


    dmx3191d.c
    scsi.h
    NCR5380.c
    NCR5380.h
    scsi_obsolete.h
    scsi_typedefs.h

    (FWIW, I arrived at this list of files by first copying just
    the dmx3191d.c file and attempting the "Build module" phase below
    until no more errors were found when building the module)

2. Create a Makefile for the module in ~/temp.

   Appropriate Makefile is attached. This is basically the one suggested
   in the FC3 release notes, with an "install" section added to put the
   module in the right place.

3. Build module

   Just run "make" in the ~/temp directory:

$ make
make -C /lib/modules/2.6.10-1.760_FC3/build SUBDIRS=/nis-home/phowarth/temp modules
make[1]: Entering directory `/lib/modules/2.6.10-1.760_FC3/build'
CC [M] /nis-home/phowarth/temp/dmx3191d.o
/nis-home/phowarth/temp/NCR5380.c:628: warning: 'NCR5380_print_options' defined but not used
/nis-home/phowarth/temp/NCR5380.c:351: warning: 'phases' defined but not used
/nis-home/phowarth/temp/NCR5380.c:571: warning: 'NCR5380_probe_irq' defined but not used
Building modules, stage 2.
MODPOST
CC /nis-home/phowarth/temp/dmx3191d.mod.o
LD [M] /nis-home/phowarth/temp/dmx3191d.ko
make[1]: Leaving directory `/lib/modules/2.6.10-1.760_FC3/build'


4. Install module

$ su
# make install
make -C /lib/modules/2.6.10-1.760_FC3/build SUBDIRS=/nis-home/phowarth/temp modules_install
make[1]: Entering directory `/lib/modules/2.6.10-1.760_FC3/build'
INSTALL /nis-home/phowarth/temp/dmx3191d.ko
make[1]: Leaving directory `/lib/modules/2.6.10-1.760_FC3/build'
# /sbin/depmod -a


5. Load module

   At this point, "modprobe dmx3191d" should work.

Paul.
obj-m    := dmx3191d.o

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

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

install: dmx3191d.ko
	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
	strip -g /lib/modules/$(shell uname -r)/extra/dmx3191d.ko

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux