安装了Linux以后,内核部分的代码在系统目录 /usr/src/Linux-2.4/ 中。当然如果下载了新的内核代码包,例如名为linux-kernel-2.4.X.tag.gz(X表示次要版本号),可以在任何一个目录下解开该代码包,但是一般的规律是将代码包解压到/usr/src/目录下,使用的命令序列如下:
[test /root/]# pwd /root [test /root/]# mv linux-kernel-2.4.7.tag.gz /usr/src/ [test /root/]# cd /usr/src/ [test /usr/src/]# tar zxvf linux-kernel-2.4.7.tar.gz [test /usr/src/]# cd linux-kernel-2.4.7
好了,进入到了新的内核代码目录,我们现在开始对目录进行裁减和编译。注意:如果没有支持2.4版本的内核,可以从http://www.kernel.org 的网站上获得关于Linux内核的最新下载信息。
进入内核源代码所在的目录以后,在该目录下使用如下命令进入内核配置界面:
make menuconfig
该命令会进入到一个ASCI的简单菜单界面,让用户对需要的内核选项进行选取,然后自动保存成一个内核配置文件。进入配置界面后如下图:
里面罗列的选项一般都需要使用Space键选中。注意在高亮光标停留在某个选项上时,使用Space键可以将该选项加入内核中。但是一个选项和内核有三种关系:
模块化方式加入。(在选项前显示【M】)
直接编译到内核中。(在选项前显示【*】)
不加入内核(选项前显示为空【】)
这两种方式都没有问题,一般推荐使用直接编译到内核中。Space键可以在"模块方式"、"直接编译方式"、"忽略模块"这三种方式之间进行切换。好了,选择完你需要的选项以后,直接使用Tab键将高亮光标移动到"Exit"上,然后一路退出,到下一个界面。保存刚才对内核选项的配置,然后回车退出。
编译内核分为以下几步:
首先使用命令make dep命令编译内核模块之间的依赖关系。
然后使用命令make bzImage 命令编译压缩的内核。
最后连续使用make modules 和make modules_install命令将模块化的选项编译到内核中。
好了,已经编译完成了内核,现在新内核的名字叫做bzImage,路径位置在(假设源代码在/usr/src/Linux-2.4中)/usr/src/Linux-2.4/arch/i386/boot/下,名称为bzImage。
现在我们要使用这个新的内核启动系统。将bzImage拷贝到/boot/目录下,然后起个新的你喜欢的名字,我们假设为bzImage.nf。
修改/etc/lilo.conf(假设你用LILO启动系统),添加下列行:
image=/boot/bzImage.nf label=linux-nf read-only root=/dev/hda5 (换成你系统的根所在的硬件路径)
编辑完成以后,在shell中敲入命令lilo,安装新的内核到启动映像中。
重新启动系统(使用命令reboot,或者halt -r)
在系统启动以后,你会看到LILO提出的提示符,此时按TAB键,然后会出现可以使用的启动内核,应该有linux-nf,它对应的内核就是/boot/bzImage.nf。直接敲入linux-nf,然后回车,系统就会使用bzImage.nf启动。
Copyright © 2006 WorldHello 开放文档之源 计划 |