够建内核树
1. 下载内核源代码
apt-cache search linux-source
其中显示的有:linux-source-2.6.20, 没有和我的内核版本完全匹配,不过也没关系,直接下载就可以了:
apt-get install linux-source-2.6.20
2. 下载后,在/usr/src/ 目录下有压缩包解压
tar -jxvf linux-source-2.6.20.tar.bz2
3 配置,编译内核
进入/usr/src/linux--source-2.6.20 目录下,可以看到Makefile 文件,它包含了整个内核树编译信息。该文件最上面四行是关于内核版本的信息。对于整个Makefile 可以不用做修改,采用默认的就可以了。
4.make menuconfig
重新配置,选项很多,一时也搞不清楚状况
主要是保证内核启动模块可动态加载的配置
Loadable module support ----->
下的默认就行拉,可以看到已经支持模块加载编译内核image
5.make
可以看点内核编译选项的介绍,要等一个小时左右
6.make bzImage("I" 大写) 然后编译模块
7.make modules
8.make modules_install
make install 一切就绪后,查看/boot/ 下已经有vmlinuz-2.6.20.3 了,但是没有对应的initrd.img 。查了查资料,要mkinitrd.
可是竟然没有这个命令,又少了东西
apt-get install initrd-tools 安装initrd-tools 然后执行
mkinitrd -o /boot/initrd.img.2.6.20.3 /lib/modules/2.6.20.3 生成 新的initrd.img
9. 再修改 /boot/grub/menu.lst 用新的内核启动
title gnuser,:)
root (hd0,1)
kernel /boot/vmlinuz-2.6.20.3 root=/dev/sdb1 ro quiet splash
initrd /boot/initrd.img-2.6.20.3
savedefault
boot
重启后,成功进入新配