Ubuntu7.04 编译内核 2.6.21.4

       经过两天一夜的实践,终于成功编译内核2.6.21.4,经历了五次的失败,一次次的在考验着我的耐性,还好,坚持下来了,便将这两天的经历书于此处,与所有被初次编译内核的困难折磨过的朋友们共勉。
       
        本次实践最大的收获有三点:
        1. 首次尝试到了什么是真正的定制。linu把所有的自由赋予了使用者,我们应该珍惜这份尊重,并尽情地享受这种自由。内核中许多模块许多是根本不需要的,还有一些是默认的设置不合理的,都可以根据自己的具体情况更改。
        2. 以前遗留的问题得到了解决。现在我的刻录机能读盘了,在编译内核的时候,去掉了scsi模拟ide设备的模块,这样,2.6以后的内核就可以正常识别刻录机了。
        3. 意外的惊喜。本来在2.6.20.16下,使用的是Ubuntu带得显卡驱动,但是无论怎么调,刷新率都到不了60HZ,并且,如果使用这个 xorg.conf,新内核根本无法进入Xwindows,所以,我又把xorg.conf改回刚装好Ubuntu时没换驱动时的状态,结果新内核进入了 Xwindows,并且刷新率为60HZ,真是意外的惊喜,新内核的兼容性可是好。
        
        现在反省下为什么会失败那么多次:
        1. 网上的编译方法得版本太多了,随着内核的升级,有些版本 就太老了,不免发生了些逻辑上的混乱。
        2, 第一次编译内核,可是不知深浅,在配置内核的时候,有些模块删掉了,结果无法启动。

        编译步骤如下:
        1. 到官方网站下载内核 http://kernel.org/pub/linux/kernel/v2.6
            解包到 /usr/src 目录下,命令:
                   sudo tar -xvjf linux-2.6.21.4.tar.bz2
        2. 进入到编译目录中,此后的所有操作均在该目录下进行。
                   cd /usr/src/linux-2.6.21.4/
            配置内核,推荐使用xconfig,非常直观,图形界面,需要Qt,非常稳定,编译了六次没有出现意外。
                   sudo make xconfig
            选项很多,不明白的,默认就可以了,可参考文章:
                   http://lamp.linux.gov.cn/Linux/kernel_options.html
            配置好了,保存,在目录中会创建.config文件,编译的时候是根据此文件进行。
        3.开始编译:
   自2.6内核开始,就不用make dep了,依赖关系会自动维护,并且命令也减少了,以往是:
                   sudo make dep
                   sudo make clean
                   sudo make bzImage
                   sudo make modules
                   sudo bzImage install
                   sudo make modules_install
            现在仅需要:
                   sudo make              //时间会很长
                   sudo make modules_install
                   sudo make install    //有些资料显示,这个命令可以自动更改/boot/grub/menu.lst,可是我的实践中并没有成功,而且还有错误
            本来到此因改结束了,可是在sudo make install后,并没有产生预期的结果,/boot/grub/menu.lst并没有改动,因此还得执行下述命令:
                   sudo mkinitramfs -0 /boot/initrd.img-2.6.21.4 2.6.21.4
                   sudo gedit /boot/grub/menu.lst
            加入如下内容:
                   title       
Ubuntu, kernel 2.6.21.4
                   root        (hd0,6)
                   kernel       
/vmlinuz-2.6.21.4 root=UUID=2f48ce41-ead0-463e-af93-b0503de13273 ro quiet splash
                   initrd       
/initrd.img-2.6.21.4
                   savedefault
             绿色的字体是根据需要更改的,其他的是复制的别的核心启动项的。
            
        到此,编译,安装结束,重新启动,就可以进入新核心的系统了。因为这个核心太新了,源里还没有它的头文件,虚拟机就没法用了,等以后升级吧。

       为了这一个问题,被“残酷”地折磨了将近30个小时,但心情还是蛮愉快的。linux让我们能在痛苦中体会自由带来的乐趣,也可谓之奇。希望每一个编译过内核的朋友都能享受这一过程。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值