本文适用于CentOS 6.5, CentOS 6.6,亲测可行,估计也适用于其他Linux发行版。

1. 准备工作

1.1 下载源码包

Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

  • r: 主版本号
  • x: 次版本号,偶数表示稳定版本;奇数表示开发中版本。
  • y: 修订版本号 , 表示修改的次数

去 http://www.kernel.org 首页,可以看到有stable, longterm等版本,longterm是比stable更稳定的版本,会长时间更新,因此我选择 3.10.28,

wget  https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.28.tar.xz

1.2 解压

tar -xf linux-3.10.28.tar.xz

1.3 更新当前系统

sudo yum update
sudo yum upgrade

1.4 安装编译内核所需要的软件包

sudo yum groupinstall "Development Tools" # 一口气安装编译时所需的一切工具
sudo yum install ncurses-devel #必须这样才能让 make *config 这个指令正确地执行。
sudo yum install qt-devel #如果你没有 X 环境,这一条可以不用
sudo yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel #创建 CentOS-6 内核时需要它们

2 配置文件

2.1 查看当前系统内核

uname -r
2.6.32-358.11.1.el6.x86_64

2.2 将当前系统的配置文件拷贝到当前目录

cp /boot/config-2.6.32-358.11.1.el6.x86_64 .config

2.3 使用旧内核配置,并自动接受每个新增选项的默认设置

sh -c 'yes "" | make oldconfig'

make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写,然后备份.config文件为.config.old,并生成新的.config文件

参考 http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile

3 编译

sudo make -j8 bzImage #生成内核文件
sudo make -j8 modules #编译模块
sudo make -j8 modules_install #编译安装模块

要严格按照这个顺序进行编译,不能合并成一句sudo make -j8 bzImage modules modules_install

-j后面的数字是线程数,用于加快编译速度,一般的经验是,有多少G内存,就填写那个数字,例如有8G内存,则为-j8

4 安装

sudo make install

如果出现了 ERROR: modinfo: could not find module xxx,数量少的话,可以忽略。

5 修改Grub引导顺序

安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。

编辑 grub.conf文件,

sudo vim /etc/grub.conf

数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0

6 重启

sudo reboot

重启后,看一下当前内核版本号,

uname -r
3.10.28

成功啦!!

7 如果失败,则重新循环

如果失败,重新开始的话,要清理上次编译的现场

make mrproper #清理上次编译的现场

然后转到第2步,重新开始。

转载于:https://www.cnblogs.com/zhangxinglong/p/5322745.html

CentOS 6.5 升级内核 kernel相关推荐

  1. centos 6.5升级内核到3.10

    centos 6.5升级内核到3.10 1.查看本机内核版本 [root@localhost ~]# uname -r 2.6.32-358.el6.x86_642.安装含有内核软件的源步骤一:导入证 ...

  2. CentOS 5.5升级内核到2.6.35.4

    #!/bin/bash # BY kerryhu # QQ:263205768 # MAIL:king_819@163.com # BLOG:http://kerry.blog.51cto.com 当 ...

  3. centos 6.x 升级内核

    为什么80%的码农都做不了架构师?>>>    系统准备 查看本地系统版本 cat /etc/redhat-release CentOS release 6.5 (Final) 查看 ...

  4. CentOS6.5升级内核到3.10.28

    本文适用于CentOS 6.4, CentOS 6.5,估计也适用于其他Linux发行版. 1. 准备工作 确认内核及版本信息 [root@hostname ~]# uname -r2.6.32-22 ...

  5. CentOS6.5升级内核

    2019独角兽企业重金招聘Python工程师标准>>> 本文适用于CentOS 6.4, CentOS 6.5,估计也适用于其他Linux发行版. 1. 准备工作 确认内核及版本信息 ...

  6. Linux centos7升级内核(两种方法:内核编译和yum更新)

                Linux centos7升级内核(两种方法:内核编译和yum更新) Linux的内核概念不用说大家也很清楚,正是内核版本的不同,才有Linux发行版本的说法,现在主流的cen ...

  7. CentOS 7.6升级系统内核

    CentOS 7.6系统内核yum 升级安装 由于最近比较火的k8s,相信大家部署前都需要升级内核,这里就简单说下部署步骤: 1.检查已安装的内核版本 uname -rs 2.在CentOS 7 中升 ...

  8. Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案

    Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案 参考文章: (1)Vmw ...

  9. CentOS 6.6 x86_64升级内核到最新版2.6.32-642.3.1.el6.x86_64

    在基于CentOS平台的工作过程中,难免有时需要升级或者降级内核以验证功能.调试性能或者更新整个系统. 如果从头重新编译一个内核费时费力,另外加之现在内核特性越来越复杂,依赖的库或者工具也不少,找到一 ...

  10. 已解决:centos 7.x系统自带的3.10.x内核存在一些bugs,导致运行docker、k8s不稳定,需要升级内核解决此问题。

    1.问题描述 Docker 要求 CentOS 系统的内核版本高于 3.10,因为centos 7.x系统自带的3.10.x内核存在一些bugs,导致运行docker.k8s不稳定. 2.问题分析 升 ...

最新文章

  1. java 二分搜索获得大于目标数的第一位_程序员常用查找算法(顺序、二分、插值、分块、斐波那契)...
  2. 为什么说康托尔知道聚宝盆的秘密?
  3. python正则表达匹配汉字
  4. NIO学习--缓冲区
  5. matlab怎么计算行列式,Matlab 线性代数(一)–行列式与方程组求解 | 学步园
  6. java实现复原IP地址,回溯算法:复原IP地址
  7. java link 使用_Java数据结构之简单的连接点(link)实现方法示例
  8. 剑指offer(1)
  9. I wish one day, I can be that large tree, giving shadow to you!
  10. [经验教程]2022网线水晶头插座接头排线接线顺序与方法图解
  11. 苹果Pro安装win10鼠标不能用的问题
  12. Panabit存在命令执行漏洞
  13. 【项目实战-MATLAB】:基于MATLAB的车牌识别系统(GUI界面+库外识别+计时计费+语音播报)
  14. java写一个接口_一个标准的java接口写法是怎样的?java对外接口怎么写?
  15. 完全卸载软件及电脑软件残留
  16. 记录ubuntu22.04突然连不上网
  17. stm32 spi nss硬件模式配置参考程序
  18. linux io栈(读写流程)
  19. 熔断器 java_防雪崩利器:熔断器 Hystrix 的原理与使用
  20. 微信小程序——简单饮食推荐(二)

热门文章

  1. rpath失效是怎么回事
  2. 本博客自排名300到264的各项数据变化
  3. 管理感悟:需要什么样的注释
  4. python代码_Python发送邮件基础知识与代码讲解!
  5. 项目拉去某个版本的_项目管理的“背后军师”——高层领导
  6. presto读取oracle,Presto数据接入方式
  7. eclipse搭建javaweb开发环境
  8. jetty 找不到html页面,记一次jetty 404问题排查修复
  9. mysql5建函数报1064错误_Mysql创建表过程中报1064错误
  10. linux java 错误日志_求大神解决啊啊 啊,看看这个怎么了,在LINUX运行完的错误日志...