构建内核树


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

重启后,成功进入新配

相关内容

    暂无相关文章