网站地图    收藏   

主页 > 系统 > linux系统 >

Linux内核编译步骤 - Linux操作系统:Ubuntu_Centos_D

来源:自学PHP网    时间:2015-04-14 11:12 作者: 阅读:

[导读] Linux内核编译步骤 编译之前,一定要查看,内核源码中,Documentation/Changes文件,查看内核编译时,需要的运行环境,如果不适合编译和有可能失败。 由于2.4和2.6内核的编译方法不是完全...

Linux内核编译步骤
 
      编译之前,一定要查看,内核源码中,Documentation/Changes文件,查看内核编译时,需要的运行环境,如果不适合编译和有可能失败。
 
    由于2.4和2.6内核的编译方法不是完全一样,所以我们分开两种情况讨论
 
      编译2.4内核:                                                         编译2.6内核
第一步:make mrproper -清理内核源代码树(清理垃圾信息)             make mrproper
第二步:make menuconfig   --配置内核以及内核模块                     make menuconfig
      (相关的命令还有make config、make oldconfig、make xconfig)
                       (交互问答式)(通过旧内核生成)(图形界面下编译)
      我们在这里推荐使用make menuconfig 这种方法操作最方便最直接。
      在进入内核配置菜单之后,原则上,自己有把握的可以更改,没有把握的切记不要乱改,否则会导致编译失败。
      更改的时候,*,表示编译进入内核————随系统启动而启动
                     M,表示编译进入模块————不随系统启动而启动,在需要的时候调用(一些不重要的外部驱动程序就可以作为内核模块编译,这样内核不会过大,也不会影响启动速度)
                     空,表示不编译进入内核也不编译进入模块————放弃这个功能,如果系统不支持这类功能,可以放弃
    最后退出的时候,提示保存,这里会将刚才的配置保存为一个名称为.config的配置文件,不管我们使用make menuconfig还是make oldconfig、make xconfig、make 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 检查一下我们现在是否使用新内核:
显示使用的内核是新内核,证明内核编译成功!
      大功告成!
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论