发新话题
打印

FC5关于编译内核选择文件包

FC5关于编译内核选择文件包

安装FC5的时候 只有三个选择 第一个办公 第二个开发 第三个 服务器
最后可以选择 进去 之后 每个都找到 找不到kernel相关字符
到底FC5编译内核是安装哪个? 有人知道希望告之

本文由matser 发布于Linuxsky 论坛,网址:http://bbs.linuxsky.org/thread-3714-1-1.html

相关主题

TOP

没有看明白

TOP

你安装FC5的时候 不是有个什么办公软件/开发/服务器 三个?
在选择服务类型之间!
然后可以选 自己选包安装 ! 我就是自己选包安装的
我安装好FC5 进入系统 光区不见了 /mnt/cdrom 没有这个目录 古怪!

[ 本帖最后由 matser 于 2006-7-13 16:26 编辑 ]

TOP

建一个cdrom目录,比如/media/cdrom。然后mount上它

TOP

mount: can't find /media/cdrom in /etc/fstab or /etc/mtab

TOP

fc5自己不代源包,只能通过RPM构建source8.6. 为内核开发作准备
Fedora Core 5 与旧版本不同,不包含 kernel-source 软件包。已配置的源代码可以按照内核配置一节的步骤得到。
[注意]         这些步骤指的是当前运行中的内核
为了简化下面的指令,假设您需要配置内核为使用当前运行中的内核的配置。在下面的步骤中,短语 version 指的是使用 uname -r 命令显示的内核版本。
需要使用内核源代码的 Fedora Core 用户可以在内核 .src.rpm 软件包中找到它们。要从文件释放源码树,执行下面的命令:
[小心]         不要以超级用户身份构建软件包
以超级用户身份构建软件包是极其危险的,不应当这样做,即使是内核。下面的操作使您可以以普通用户身份构建内核。很多教程以 /usr/src/linux 作为内核的源码位置,如果想遵循这些操作,可以替换为 ~/rpmbuild/BUILD/kernel-<version>/linux-<version>。
   1.
      在个人目录准备 RPM 软件包构建环境,运行下面的命令:
      su -c 'yum install fedora-rpmdevtools'
      fedora-buildrpmtree
      提示时输入 root 的密码。
   2.
      从下列来源之一获取 kernel-version.src.rpm 文件:
          *
            SRPMS 文件,包含在合适的 SRPMS CD iso 镜像文件中。
          *
       下载内核软件包的 HTTP 或 FTP 站点
          *
            执行这个命令:
            su -c 'yum install yum-utils'
            su -c 'yumdownloader --source kernel'
           提示时输入 root 的密码。
   3.
      安装 kernel-&lt;version>.src.rpm,运行命令:
      rpm -Uvh kernel-<version>.src.rpm`
      这个命令将 RPM 内容写到 ${HOME}/rpmbuild/SOURCES 和 ${HOME}/rpmbuild/SPECS, 这里 ${HOME} 是您的个人目录。
      [提示]         硬盘空间需求
      完整的内核构建过程可能需要您的个人目录有几个吉的存储空间。
   4.
      使用这样的命令来准备内核源代码:
      cd ~/rpmbuild/SPECS
      rpmbuild -bp --target $(uname -m) kernel-2.6.spec
      内核源码树位于 ${HOME}/rpmbuild/BUILD/kernel-<version>/ 目录。
   5.
      Fedora Core 附带的内核配置文件在 configs/ 目录。例如,i686 SMP 配置文件被命名为 configs/kernel-version-i686-smp.config。使用下列命令来将需要的配置文件复制到合适的位置,用来编译:
      cp configs/<desired-config-file> .config
      您也可以在 /lib/modules/version/build/.config 这个位置找到与您当前的内核匹配的 .config 文件。
   6.
      每个内核的名字都包含了它的版本号,这也是 uname -r 命令显示的值。内核 Makefile 的前四行定义了内核的名字。为了保护官方的内核不被破坏,Makefile 经过了修改,以生成一个与运行中的内核不同的名字。在一个模块插入运行中的内核前,这个模块必须针对运行中的内核进行编译。为此,您必须编辑内核的 Makefile。
      例如,如果 uname -r 返回字符串 2.6.15-1.1948_FC5,就将 EXTRAVERSION 定义从:
      EXTRAVERSION = -prep
      修改为:
      EXTRAVERSION = -1.1948_FC5
      也就是最后一个连字符后面的所有内容。
   7.
      执行这个命令:
      make oldconfig
      接下来就没什么差别了。
8.7. 只构建内核模块
为运行中的内核构建内核模块,例如您自己的设备驱动,不需要完整的源码树。例如,要构建 foo.ko 模块,在包含 foo.c 文件的目录中创建下面的 Makefile :
obj-m := foo.o
KDIR  := /lib/modules/$(shell uname -r)/build
PWD   := $(shell pwd)
default:
    $(MAKE) -C $(KDIR) M=$(PWD) modules      
执行 make 命令来编译 foo.ko 模块就可以了。

为了编译内核,安装的时候需要选择编译器GCC(在开发里面)

TOP

FC5一定要用yum 或者去网站下载kernel-devel 和自己版本对应的rpm文件?
我安装了 进入了make menuconfig 画面 退出的时候 提示 是
End of Linux kernel configuration.
Execute 'make' to build the kernel or try 'make help'make: *** [init] Error 2
然后make dep; make clean make bzImage make modules 都试过 好象都有问题
提示是make[1]: *** No rule to make target `init/main.o', needed by `init/built-in.o'.  Stop.
另外我只想用connlimit 和u32 几个文件 我发现安装的时候在/lib/iptables 就有
*.so的文件 但是不知道怎么使用 不知道有办法让/lib/iptables/*.so起作用!

[ 本帖最后由 matser 于 2006-7-16 17:41 编辑 ]

TOP

发新话题