FC3 Release Note

发表于:2007-05-26来源:作者:点击数: 标签:
In order to eliminate the redundancy inherent in providing a separate package for the kernel source code when that source code a lr eady exists in the kernel's .src.rpm file, Fedora Core 3 no longer includes the kernel-source package. User
  • 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, Fedora Core 3 no longer includes the kernel-source package. Users that require aclearcase/" target="_blank" >ccess 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:

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

      • The FTP site where you got the kernel package

      • By running the following command:

        up2date --get-source kernel

    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 Fedora Core 3 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.

原文转自:http://www.ltesting.net