Chinaunix首页 | 论坛 | 博客
  • 博客访问: 214445
  • 博文数量: 33
  • 博客积分: 256
  • 博客等级:
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-14 18:39
个人简介

前方的路,充满了艰辛。-

文章分类
文章存档

2014年(1)

2013年(27)

2012年(5)

分类: LINUX

2013-03-29 15:15:38



      编译之前,一定要查看,内核源码中,Documentation/Changes文件,查看内核编译时,需要的运行环境,如果不适合编译和有可能失败。

    
由于2.42.6内核的编译方法不是完全一样,所以我们分开两种情况讨论


      编译2.4内核:                                                         编译2.6内核

第一步:make mrproper -清理内核源代码树(清理垃圾信息)             make mrproper

第二步:make menuconfig   --配置内核以及内核模块                     make menuconfig

      (相关的命令还有make configmake oldconfigmake xconfig

                       (交互问答式)(通过旧内核生成)(图形界面下编译)

      我们在这里推荐使用make menuconfig 这种方法操作最方便最直接。

      在进入内核配置菜单之后,原则上,自己有把握的可以更改,没有把握的切记不要乱改,否则会导致编译失败。

      更改的时候,*,表示编译进入内核————随系统启动而启动

                     M,表示编译进入模块————不随系统启动而启动,在需要的时候调用(一些不重要的外部驱动程序就可以作为内核模块编译,这样内核不会过大,也不会影响启动速度)

                     空,表示不编译进入内核也不编译进入模块————放弃这个功能,如果系统不支持这类功能,可以放弃

    最后退出的时候,提示保存,这里会将刚才的配置保存为一个名称为.config的配置文件,不管我们使用make menuconfig还是make oldconfigmake xconfigmake config,最终都为了生成这个.config文件,以后所有的操作,就会根据这个文件中的内容进行,这个文件,存储的就是我们刚才所做的改动,可以less .config查看一下

第三步:make dep --生成依赖性关系

第四步:make bzImage --生成新内核                               make (2.6内核中将左边三个步骤简化为make)

     第五步:make modules --编译内核模块

  这三个步骤执行的时间比较长,所以,慢慢等吧!刚才这一步是执行时间最长的一步。

     第六步:make modules_install --安装内核模块

     第七步:make install --安装内核                 

     (所有的编译步骤最好在字符界面下进行,否则在图形界面下速度会比较慢)

     另外上面所提到的所有步骤,任何一步完成之后都要检查有没有出错,就是有没有显示error的字样,如果显示任何一步出错都要退回到make mrproper重来

没有报错,似乎情况还不错。

但是不要高兴太早,还要进行进一步测试:

1. vi /etc/grub.conf -->查看是否有新的内核启动项生成。并修改default指向(0代表第一个,1代表第二个,以此类推)。

2. ls /boot -->查看是否有新的内核文件vmlinuz生成


现在差不多行了,但是还要重启,看是否可以新的内核启动系统。我现在已经成功进入系统了,那么执行uname -a 检查一下我们现在是否使用新内核:

显示使用的内核是新内核,证明内核编译成功!

      大功告成!

阅读(3154) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~