设为首页 收藏本站
查看: 934|回复: 0

[经验分享] linux视频教程之Linux(RedHat9)内核的升级

[复制链接]

尚未签到

发表于 2018-5-12 13:21:31 | 显示全部楼层 |阅读模式
这次主要说一下Linux(RedHat9)内核的升级


[主版本].[次版本].[修订版本]-[附版本]
   2        4         20        8

1. 如果次版本是奇数的话,例如2.3, 2.5 等等,那表示他是一个『测试性质功能的核心版本』,
这种核心通常是在推出稳定版本的核心之前,用来给developer ( 核心维护更新测试者!) 测试用的!
虽然功能较为强大,但是由于是属于测试性质,所以可能会有些许的bug 也说不定
2. 如果次版本是偶数的话,例如2.2, 2.4, 2.6 等等,那表示他是一个经过测试之后才释出的稳
定核心版本,这种核心较为稳定不容易出错,比较适合一般个人或者是商业使用!






开始编译之前:
由于害怕不小心前面有人已经先编译过了核心,则由于编译过程当中会产生目的档
案(档名为.o ),为了避免此一问题,请先执行make mrproper 这个指令来清理代码树







设定编译模式:
目前的Kernel可以允许多种编译的模式,包括了:
make config : 这种模式需要逐行输入所需要设定的项目,无法往前修改设定,所以目前很少
       使用这种方式来设定Kernel 的项目了
make xconfig: 这种模式则是使用X-Window 为主要环境的设定模式!除非你有X-Window
       在执行,否则没有办法使用这种模式
make menuconfig 这种模式有点像是文字界面的选单模式,较为简便,而且可以在纯文字界面下
              面执行编辑动作!是目前最常使用的模式
由于我们是在文字接口下工作,因此,我们就使用make menuconfig 来进行核心的编译

最底下的<Select> <Exit> <Help> :可以使用『左右键』来移动光标;

上下键可以移动上面大框框部分的Code maturity level options 那一行
有箭头『---> 』则表示该行内部还有其它细项需要来设定的意思

当以『上下键』选择好想要设定的项目之后,并以『左右键』选择<Select> 之后,按下『Enter 』
就可以进入该项目去作更进一步的细部设定

在细部项目的设定当中,如果前面有[ ] 或< > 符号时,该项目才可以选择,而选择可以
使用『空格键』来选择

若为
  • <*> 则表示编译进核心;若为<M> 则表示编译成模块!尽量在不知道该项目为何时,
    且有模块可以选,那么就可以直接选择为模块

    当在细项目选择<Exit> 后,并按下Enter ,那么就可以离开

    基本上建议只要『上下左右空白及Enter 』这六个按键就好了!


    看,生成的这个文件是要用来做编译的  没有它就一切都无从开始






    开始编译

    make dep        <==建立相依的属性关系!
    make clean       <==将旧的资料去除掉!
    make bzImage      <==开始编译核心!这个核心是经过压缩的,此外,这个步骤也很长!
    make modules      <==开始编译模块!这个动作视您刚刚编译的模块数量!
    make modules_install  <==好了!将数据给他安装在/lib/modules/`uname -r` 里面啰!
    make install      <==嗯!就将刚刚bzImage 建立完成的核心给他安装上来!

    make dep :这个动作在进行,将您在上一节所选择的项目当中,属于模块的东西进行相依属性的建立
               以方便未来软件或程序进行的时候,模块的呼叫
    make clean :这个动作会将您前一次编译的目标文件( *.o 的档案) 给他去除,
                 所以编译的内容才会是新的核心!
                 虽说这个书上没有,编译也可以成功,但个人建议,还是用下好
          如果是已经编译好几次了,那一定要用这样
    make bzImage :注意喔!那个I 是『i 』的大写字符.这个步骤主要在产生可开机的核心档案,
                   也就是我们再开机程序当中提到好多次的vmlinuz 那个档案!但是由于目前的
                   核心档案都很大,因此都会经过压缩的程序.所以,编译出来的核心档案放置的
                   地点在底下的目录当中:/usr/src/linux/arch/i386/boot/bzImage
    make modules :这个步骤在编译模块! 
    make modules_install :这个步骤在安装模块!那么模块安装在哪里呢?
                           就是我们之前提过的,在/lib/modules/`uname –r` 里面,
                            


    由于全部的升级时间很长,约近2小时,当然也要看机器的配置而定,所以这里不再演示过程
    只要步骤顺序没错的话,都是可以成功的。如果在编译的过程当中发生问题的话,通常的
    可能就是挑选的项目有点问题,这个时候请重新再挑选一次设定内容『make menuconfig 』
    通常编译都可以成功的!

    注意:在编译第二次之前,先把/lib/modules/下的第一次失败的那个版本的文件夹删除。
    用这个举例,如果你第一次升级失败的话,要把2.4.20-8custom这个文件夹删除,然后
    再一次升级,否则很容易产生错误


    第一个就是编译成功后产生的


    虽说书上还有一个 根据原有配置文件生成的新配置文件  这样的内核定制方式
    但只是在实验里用用就好了,如果你是要升级内核的话,这样做不太好
    所以,做实验用这个


    看,有2个了,如果你没升级之前就一个


    OK了,注意的地方也说过了
    在升级的过程中,会有很多不经常见的错误,多注意
    再一个,make menuconfig 配置选项很多,多看看,这些很重要

    升级就说到这里


    成功!!!!!!!!!!!!


    附件:http://down.51cto.com/data/2359962

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-459156-1-1.html 上篇帖子: 在vmware中以redhat系统为基础构建小型linux 下篇帖子: Oracle install for redhat Linux
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表