Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6966255
  • 博文数量: 637
  • 博客积分: 10265
  • 博客等级: 上将
  • 技术积分: 6165
  • 用 户 组: 普通用户
  • 注册时间: 2004-12-12 22:00
文章分类

全部博文(637)

文章存档

2011年(1)

2010年(1)

2009年(3)

2008年(12)

2007年(44)

2006年(156)

2005年(419)

2004年(1)

分类: LINUX

2005-05-10 19:59:36

  • 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 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 refers to the version specification for your currently-running kernel):

    1. Obtain the kernel-.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-.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= kernel.spec

      (Where 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--i686-smp.config. Issue the following command to place the desired configuration file in the proper place for building:

      cp ./.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.

阅读(775) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~