Docker需要3.10以上内核支持,Centos6.5 默认内核为2.6.所以手动编译安装3.10内核。

查看当前系统内核版本

[root@gu ~]# uname -r
2.6.32-431.el6.x86_64

[root@gu ~]# cat /etc/issue
CentOS release 6.5 (Final)

安装软件

编译安装新内核,依赖于开发环境和开发库

# yum grouplist //查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;

# yum groupinstall "Development Tools" //一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具

# yum install ncurses-devel //你必须这样才能让 make *config 这个指令正确地执行

# yum install qt-devel //如果你没有 X 环境,这一条可以不用

# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel //创建 CentOS-6 内核时需要它们

编译内核

获取解压内核源码,配置编译项

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

[root@gu ~]# wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.10.105.tar.xz  #真心慢。。。我用迅雷下的。。。

[root@gu ~]# tar -xf linux-3.10.105.tar.xz -C /usr/src/

[root@gu ~]# cd  /usr/src/linux-3.10.105/

[root@gu linux-3.10.105]# cp /boot/config-2.6.32-431.el6.x86_64 .config #在系统原有的内核配置文件的基础上建立新的编译选项,所以复制一份到当前目录下,命名为.config

[root@gu linux-3.10.105]# sh -c 'yes "" | make oldconfig'

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

开始编译

[root@gu linux-3.10.105]# make -j4 bzImage #生成内核文件
[root@gu linux-3.10.105]# make -j4 modules #编译模块
[root@gu linux-3.10.105]# make -j4 modules_install #编译安装模块

#-j后面的数字是线程数,用于加快编译速度

安装

[root@gu linux-3.10.105]# make install

#实际运行到这一步时,出现ERROR: modinfo: could not find module vmware_balloon,但是不影响内核安装,是由于vsphere需要的模块没有编译,要避免这个问题,需要在make之前时修改.config文件,加入

HYPERVISOR_GUEST=yCONFIG_VMWARE_BALLOON=m

修改grub引导,重启

安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。
数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0。
重启reboot

确认当内核版本

[root@gu ~]# uname -r
3.10.105

升级内核成功!

编译失败(如缺少依赖包)

可以先清除,再重新编译

# make mrproper #完成或者安装过程出错,可以清理上次编译的现场
# make clean

费劲!直接YUM安装 内核

最近安装步骤看 http://elrepo.org/tiki/tiki-index.php

1.导入cdk

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.安装elrepo的yum源

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

3、安装内核
在yum的ELRepo源中,有mainline颁布的,可以这样安装:
 yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y

当然也可以安装long term的:

yum --enablerepo=elrepo-kernel  install  kernel-lt -y

4.配置/etc/grub.conf

最新文章

  1. Mysql性能优化一
  2. C# 加密–RSA前端与后台的加密&解密
  3. 'libxml/HTMLparser.h' file not found in ASIHTTPRequest 解决方法
  4. 线下线上对接的一种思路(本地erp与线上电子商务平台对接)
  5. unity, 颜色随高度渐变shader
  6. SharePoint Secure Store Service(SSSS)的使用(一)
  7. 基于visual Studio2013解决C语言竞赛题之1051数的顺序
  8. ORM映射设计思想
  9. 使用DFA算法对敏感词进行过滤
  10. Java生成二维码--QRGen
  11. Spring中配置数据源的四种方式
  12. OO第一单元总结——多项式求导
  13. POJ 3616 奶牛挤奶
  14. db2 报错 sqlcode=-420 自动类型转换的问题
  15. Java的一些基本术语
  16. E. Binary Numbers AND Sum
  17. 质数——6N±1法
  18. python dtrace 安装与应用
  19. CListCtrl选中某行
  20. unbtu使用笔记

热门文章

  1. mapreduce 中 map数量与文件大小的关系
  2. mongoDB的配置和使用
  3. 研究VCL源码的原因和起点
  4. 用Delphi制作动态菜单 该文章《用Delphi制作动态菜单》
  5. python之Map函数
  6. fatal error: matio.h: No such file or directory
  7. /include/caffe/common.cuh(9): error: function "atomicAdd(double *, double)" has already been defined
  8. Python面向对象静态方法,类方法,属性方法
  9. BZOJ2819Nim——树链剖分+线段树+Nim游戏
  10. Spring StringRedisTemplate 配置