CentOS 6.5 升级内核到 3.10.28
本文适用于CentOS 6.4, CentOS 6.5,亲测可行,估计也适用于其他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步,重新开始。
参考资料
CentOS 6.5 升级内核到 3.10.28的更多相关文章
- CentOS6.5升级内核到3.10.28 --已验证
本文适用于CentOS 6.4, CentOS 6.5,估计也适用于其他Linux发行版. 1. 准备工作 确认内核及版本信息 [root@hostname ~]# uname -r 2.6.32-2 ...
- 使用yum快速升级CentOS 6.5内核到 3.10.28
网上有不少升级CentOS内核的文章,如<CentOS 6.5 升级内核到 3.10.28>,大部分都是下载源码编译,有点麻烦. 在yum的ELRepo源中,有mainline(3.13. ...
- centos 6.5 升级内核 linux 3.12.17 (笔记 实测)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- centos 6.5 升级内核 linux 3.12.17
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- CentOS 6.5 升级内核
Docker需要3.10以上内核支持,Centos6.5 默认内核为2.6.所以手动编译安装3.10内核. 查看当前系统内核版本 [root@gu ~]# uname -r2.6.32-431.el6 ...
- CentOS 7.x升级内核
第一种针对当前内核版本的小版本升级可以采用如下方法: [root@localhost ~]# uname -r -.el7 [root@localhost ~]# yum list kernel [r ...
- CentOS 6.5 升级内核 kernel
本文适用于CentOS 6.5, CentOS 6.6,亲测可行,估计也适用于其他Linux发行版. 1. 准备工作 1.1 下载源码包 Linux内核版本有两种:稳定版和开发版 ,Linux内核版本 ...
- 在centos 7下升级内核
前言 今天读了一篇老外的文章,讲的是如何在linux环境下升级内核.比较暴力,比较简单,故做个记录. 文章中,作者先列出一个常识:linux是内核名,不是系统名.我们平时说的"lin ...
- 【kernel】Centos 云上升级内核失败 如何处理【笔记记录转】
Centos7选定默认启动的内核版本 vim /etc/grub2.cfg 修改timeout =5 修改成30天 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附 ...
随机推荐
- (译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机
Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机 今早我们释出一些很棒的Windows Azure更新.这些新的提升包括:SQL数据库:支持SQL自动导出和一个新的高级层 ...
- centos7下配置iptables实现外网访问内网服务器
说明:Centos 7 默认的防火墙是 firewall,安装iptables之前需关闭Firewall 外网机器:外网ip:120.25.71.183内网ip:10.1.1.23 内网机器:内网ip ...
- iframe的应用量还是这么大
以前查阅资料说iframe已经过时,不建议使用,可是在先进的2018年,你去随便打开一个网站,扔都可以见到iframe的身影,这不禁要发问:iframe的应用量为什么还是这么大? HTML5不再支持使 ...
- Kali视频学习6-10
Kali视频学习6-10 kali信息收集之主机探测 主机探测指识别目标机器是否可用(简单来说是否在线),在探测过程中,需要得到目标是否online等信息.由于IDS和(入侵检测系统)和IPS(入侵保 ...
- python安装包下载慢的问题 | Python
复制链接,打开迅雷就开始下载了.
- jquery map方法
jQuery.map( array, callback(elementOfArray, indexInArray) )Returns: Array 感觉jquery的map方法非常好用,特向大家分享下 ...
- Linux后台运行命令,nohup和&的区别
&的意思是在后台运行, 什么意思呢? 意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C, 那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...
- AccessTokens
https://www.oauth.com/oauth2-servers/access-tokens/ Access tokens are the thing that applications us ...
- Numpy学习2
载入数据和保存数据 In [34]: arr = np.loadtxt("/home/hadoop/wujiadong/np.txt") In [35]: np.save(&quo ...
- 自定义ajax
// 动态添加script获取里面的数据,,可实现跨域,不跨的当然也可以 getFile:function(params){ try{ //创建script标签 var cbName=params.c ...