linux2.6.8源码,8.3. Linux-2.6.32.8

8.3.1. 安装内核

安装内核包括几个步骤:配置,编译和安装。要选择不同于本书的其他配置内核的方式, 请阅读内核源文件目录中的README文件。

运行下面的命令来为编译做准备:

make mrproper

这样可以确保内核源码树是绝对干净的,内核开发组推荐每次编译内核之前都先运行这个命令。 请不要以为解包后内核源码树自动就是干净的。

make LANG= LC_ALL= menuconfig

make 参数的含义:

LANG=

LC_ALL=

这个参数建立主机上使用的 locale 设置。UTF-8 的linux文本控制台上的菜单配置ncurses 接口线图需要这个值。确保用你的主机上的$LANG变量代替, 如果主机没有设置,你可以使用$LC_ALL或$LC_CTYPE的值代替。

另外,在一些场合,使用make

oldconfig可能更合适。更多信息请参考README文件。

如果您愿意,可以跳过配置内核的步骤,直接把宿主系统里的内核配置文件.config(如果存在的话) 复制到解压后的linux-2.6.32.8目录。 当然,我们不推荐这样做, 考察全部的配置菜单并从头开始创建内核配置是更好的办法。

编译内核镜像和模块:

make

如果使用内核模块,可能需要/etc/modprobe.d 目录中的模块配置。 关于模块和内核配置的信息请参考 Section 7.9,

“LFS 系统的设备和模块处理” 和 linux-2.6.32.8/Documentation 目录的内核文档。

modprobe.conf(5)也可能有用。

如果内核配置使用模块,就安装它们:

make modules_install

内核编译完成后,还需要一些步骤来完成安装。需要把一些文件拷贝到 /boot目录。

内核镜像文件所在的路径因您使用的平台不同而不同, 下面的文件名可以更改为适合您的口味,但是,为了与下一节描述的启动过程的自动安装兼容,文件名的词干应该是vmlinux 。x86平台上请运行下面的命令:

cp -v arch/x86/boot/bzImage /boot/vmlinux-2.6.32.8-lfs-6.6

System.map是内核的符号文件。它映射了内核API中每个函数的入口, 以及正在运行内核的数据结构的地址。在调查内核问题时,使用它作为一种资源, 请运行下面的命令安装这个文件:

cp -v System.map /boot/System.map-2.6.32.8

上面make

menuconfig这一步产生的内核配置文件 .config 包含了刚刚编译的内核的所有配置选项, 最好保留这个文件以备将来参考:

cp -v .config /boot/config-2.6.32.8

安装 Linux内核的文档:

install -d /usr/share/doc/linux-2.6.32.8

cp -r Documentation/* /usr/share/doc/linux-2.6.32.8

重要的一点是要注意到内核源码目录里的文件所有者不是root。只要是用 root(像我们在 chroot 环境里做的那样)用户解压软件包,解压出来的文件的用户和组 ID 是这个软件包打包者计算机上的用户和组 ID, 对于其它软件包, 这通常不是问题, 因为安装完这些软件包之后源码目录就删除了,但是 Linux 内核源码树常常会保存很长的时间, 这样就有可能打包者的用户 ID 和您计算机上某个用户的 ID 相同, 从而让您计算机上的这个用户获得了内核源码的写权限。

如果您准备保留内核源代码,在linux-2.6.32.8目录上执行chown -R 0:0命令以确保全部文件的所有者是 root。

9053882970cac491eb6435257e7d99ec.png

警告

一些内核文档建议建立一个从 /usr/src/linux 指向源码目录的符号链接。 这只是一个对 2.6 以前版本内核的特殊要求,并且在 LFS 系统上是不允许这样做的,因为你的基本LFS系统完成以后,你会安装其他软件包,这可能引起问题。

9053882970cac491eb6435257e7d99ec.png

警告

系统include目录中的头问题件应该总是保持Glibc编译时的那个版本,这也是Linux内核tar包中的干净的头文件。因而,它们绝不要被替换成原始的内核头文件和其他干净的头文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值