linux kernel 2.6.10 编译

来源:互联网 发布:数据分析excel面试题目 编辑:程序博客网 时间:2024/06/10 14:54

之前看《linux device drivers》的时候用的是2.6.18的内核,最后发现与驱动有关的内容内核中还真变了不少。 为了更好地学习linux 驱动,决定编译一下linux 2.6.10,毕竟那本书就是以这个版本为基础的。

用2.6.18的redhat 5.0编译的时候,可能因为编译器版本的问题,出了很多问题,在网上找了很多资料,打补丁、改源文件什么的,总算编译成功,但在最后启动新的内核的时候,竟然找不到系统所在的逻辑卷(我用的是虚拟机环境)。

no volume groups found
volume group"VolGroup00" not found

无奈在网上找了很多资料也无法解决问题。最后发现可能是用高版本内核环境编译运行低版本内核的问题。如逻辑卷,旧的版本不能兼容新的版本的(此观点未作验证)。最后改用如下办法,终于成功。

1. 安装redhat 4.8这个发行版用的是2.6.9的内核,在2.6.10之前,而且比较接近,编译器什么的与2.6.10内核开发时用的也应当比较接近。

2. make oldconfig 使用老的配置,新的东西都默认。

3. make 编译。在编译过程中也没出现用2.6.18内核编译的时候出现的各种错误。估计是编译环境比较接近吧。

4. make bzImage

5. make modules

6. make modules_install

7. make install

上面的步骤完成后,/boot下就有了2.6.10内核相关的启动image,而且/etc/grub.conf文件中也自动正确设置了相关的启动参数。很方便啊。可以在这个文件中设置默认启动2.6.10内核,将default=n n设为正确内核对应的序号就可以了。

最后 reboot.

顺便提一句,如果只是想使用2.6.10内核学习ldd3并且又不想编译内核的话,可安装ubuntu 5.0.4的发行版,这个版本用的就是2.6.10的内核。

0 0
原创粉丝点击