SCIENTIFIC-LINUX-USERS Archives

January 2006

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
John Fattaruso <[log in to unmask]>
Reply To:
John Fattaruso <[log in to unmask]>
Date:
Fri, 27 Jan 2006 08:41:23 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (87 lines)
[log in to unmask] wrote:
> I tried the following steps:
> I installed kernel-smp-devel-2.6.9-22.0.1.EL.x86_64.rpm
> The tarball was untarred to 
> /usr/src/kernels/2.6.9-22.EL-smp-x86_64/drivers/scsi/aic7xxx/
> # cd /usr/src/kernels/2.6.9-22.EL-smp-x86_64
> # make oldconfig
> # make

 From your choice of directories in which to run make, it looks like you 
may be omitting the same steps I ran into a while back trying to compile 
a module for video capture. The following is excerpted from 
/usr/share/doc/sl-release-4.1/RELEASE-NOTES-x86-en. Maybe you could 
build the proper kernel source tree following these instructions and 
then copy over the new kernel module source to its place under 
/usr/src/redhat/BUILD?

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

      o In order to eliminate the redundancy inherent in providing a 
separate
        package for the kernel source code when that source code already
        exists in the kernel's .src.rpm file, Scientific Linux 4.x no
        longer includes the kernel-source package. Users that require access
        to the kernel sources can find them in the kernel .src.rpm file. To
        create an exploded source tree from this file, perform the following
        steps (note that <version> refers to the version specification for
        your currently-running kernel):

          1. Obtain the kernel-<version>.src.rpm file from one of the
             following sources:

                o The SRPMS directory on the appropriate "SRPMS" CD iso 
image

                o The FTP site where you got the kernel package

          2. Install kernel-<version>.src.rpm (given the default RPM
             configuration, the files this package contains will be 
written to
             /usr/src/redhat/)

          3. Change directory to /usr/src/redhat/SPECS/, and issue the
             following command:

             rpmbuild -bp --target=<arch> kernel.spec

             (Where <arch> is the desired target architecture.)

             On a default RPM configuration, the kernel tree will be located
             in /usr/src/redhat/BUILD/.

          4. In resulting tree, the configurations for the specific kernels
             shipped in Scientific Linux 4.x are in the /configs/
             directory. For example, the i686 SMP configuration file is 
named
             /configs/kernel-<version>-i686-smp.config. Issue the following
             command to place the desired configuration file in the proper
             place for building:

             cp <desired-file> ./.config

          5. Issue the following command:

             make oldconfig

        You can then proceed as usual.

   Note

        An exploded source tree is not required to build kernel modules
        against the currently in-use kernel.

        For example, to build the foo.ko module, create the following file
        (named Makefile) in the directory containing the foo.c file:

  obj-m    := foo.o

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

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


        Issue the make command to build the foo.ko module.

ATOM RSS1 RSS2