1.准备工作
(1).整理出系统需要支持的硬件,文件系统类型及网络协议等内容(在配置内核编译选项时需要)。
(2).查看系统的版本号(uname -r),如果你的系统版本与将要编译的内核版本一致,建议将/lib/modules下的内容备份,否则make modules_install(安装模块)步骤产生的文件会覆盖这个路径下的内容。
(3).A:下载并解压内核.下载地址http://www.kernel.org/pub/linux/kernel/.一般将内核源码放在/usr/src/目录下。
B:通过光盘安装内核。rpm -ivh kernel-source-2.xx.xx.rpm
2.清除从前编译内核时残留的.o文件和不必要的关联。
cd /usr/src/linux
make mrproper
确保源代码目录下没有不正确的.o文件和文件依懒关系,执行该命令后,内核选项会回到默认的状态下。
3.配置内核,修改相关参数。
在图界面下:make xconfig;字符界面下:make menuconfig
可参考:http://wenku.baidu.com/view/ca08c0f3f90f76c661371ad8.html 配置内核选项后,保存退出。
4.正确设置关联文件
make dep
根据步骤3的编译选项,建立文件的依赖关系。
5.make clean
清除一些不必要的文件。
6.编译内核
对于大内核(比如需要支持SCSI),make bzImage
对于小内核,make zImage
7.编译模块
make modules
编译可加载模块(即内核选项中选择为M的选项),编译时间跟M数量有关。
8.安装模块
make modules_install
即将编译好的模块拷贝到/lib/modules下。
9.使用新内核
方法一:
(1).更换内核:a.mv /usr/src/linuxX.X.X/system.map /boot/system.map
mb /usr/src/linuxX.X.X/arc/i386/boot/bzImage /boot/vmlinuz
(2).修改/etc/lilo.conf文件,加一个启动选项,使用新内核启动.
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ##告诉lilo默认使用新内核启动###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留旧的启动选项可以保证新内核不能启动的情况下,旧内核可用。
保存退出后,执行/sbin/lilo,使修改生效。