本文适用于CentOS 6.5, CentOS 6.6,亲测可行,估计也适用于其他Linux发行版。
1.1 下载源码包
Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y
- r: 主版本号
- x: 次版本号,偶数表示稳定版本;奇数表示开发中版本。
- y: 修订版本号 , 表示修改的次数
去 http://www.kernel.org 首页,可以看到有stable, longterm等版本,longterm是比stable更稳定的版本,会长时间更新,因此我选择 3.10.28,
1.2 解压
1.3 更新当前系统
1.4 安装编译内核所需要的软件包
2.1 查看当前系统内核
2.2 将当前系统的配置文件拷贝到当前目录
2.3 使用旧内核配置,并自动接受每个新增选项的默认设置
make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写,然后备份.config文件为.config.old,并生成新的.config文件
参考 http://stackoverflow.com/questions//what-does-make-oldconfig-do-exactly-linux-kernel-makefile
要严格按照这个顺序进行编译,不能合并成一句,sudo make -j8 bzImage modules modules_install。
-j后面的数字是线程数,用于加快编译速度,一般的经验是,有多少G内存,就填写那个数字,例如有8G内存,则为-j8。
如果出现了 ERROR: modinfo: could not find module xxx,数量少的话,可以忽略。
安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。
编辑 grub.conf文件,

数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0。
重启后,看一下当前内核版本号,
成功啦!!
如果失败,重新开始的话,要清理上次编译的现场
然后转到第2步,重新开始。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/188233.html