文档章节

CentOS 6.6 内核升级

strick001
 strick001
发布于 2016/02/02 13:41
字数 874
阅读 17
收藏 0
点赞 1
评论 0

1. 准备工作


确认内核及版本信息

[root@hostname ~]# uname -r2.6.32-220.el6.x86_64
2.6.32-220.el6.x86_64
[root@hostname ~]# cat /etc/centos-release CentOS release 6.2 (Final)
CentOS release 6.2 (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 内核时需要它们

2. 编译内核

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

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

[root@sean ~]# tar -xf linux-3.10.58.tar.xz -C /usr/src/
[root@sean ~]# cd /usr/src/linux-3.10.58/
[root@sean linux-3.10.58]# cp /boot/config-2.6.32-220.el6.x86_64 .config

我们在系统原有的内核配置文件的基础上建立新的编译选项,所以复制一份到当前目录下,命名为.config。接下来继续配置:

[root@sean linux-3.10.58]# sh -c 'yes "" | make oldconfig'
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
.config:555:warning: symbol value 'm' invalid for PCCARD_NONSTATIC
.config:2567:warning: symbol value 'm' invalid for MFD_WM8400
.config:2568:warning: symbol value 'm' invalid for MFD_WM831X
.config:2569:warning: symbol value 'm' invalid for MFD_WM8350
.config:2582:warning: symbol value 'm' invalid for MFD_WM8350_I2C
.config:2584:warning: symbol value 'm' invalid for AB3100_CORE
.config:3502:warning: symbol value 'm' invalid for MMC_RICOH_MMC
*
* Restart config...
*
*
* General setup
*

... ...
XZ decompressor tester (XZ_DEC_TEST) [N/m/y/?] (NEW) 
Averaging functions (AVERAGE) [Y/?] (NEW) y
CORDIC algorithm (CORDIC) [N/m/y/?] (NEW) 
JEDEC DDR data (DDR) [N/y/?] (NEW) 
#
# configuration written to .config
#

make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写。有的文档里介绍使用make memuconfig,它便是根据需要定制模块,类似界面如下:(我们不需要)

make oldconfig会在生成新的.config之前备份为.config.old,并生成新的.config文件

开始编译

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

-j后面的数字是线程数,用于加快编译速度,一般的经验是,逻辑CPU,就填写那个数字,例如有8核,则为-j8。(modules部分耗时30多分钟

安装

[root@sean linux-3.10.58]# make install
实际运行到这一步时,出现ERROR: modinfo: could not find module vmware_balloon,但是不影响内核安装,是由于vsphere需要的模块没有编译,要避免这个问题,需要在make之前时修改.config文件,加入
HYPERVISOR_GUEST=y
CONFIG_VMWARE_BALLOON=m
(这一部分比较容易出问题,参考下文异常部分)

修改grub引导,重启

安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。
编辑 grub.conf文件,

vi /etc/grub.conf
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.58)
    root (hd0,0)
...

确认当内核版本

[root@sean ~]# uname -r3.10.58

升级内核成功!

3. 异常

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

可以先清除,再重新编译:

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


本文转载自:http://segmentfault.com/a/1190000000733628

共有 人打赏支持
strick001
粉丝 1
博文 16
码字总数 1066
作品 0
北碚
程序员
centos 6 linux 内核kernel升级

背景: 有时候低内核下硬件监控工具ipmitool不能使用,而高内核的就可以使用,此时需要考虑升级内核了。 [root@sh ~]# ls /lib/modules/2.6.32-642.11.1.el6.x86_64/kernel/drivers/char/ipmi...

cuizhiliang
06/26
0
0
查看Linux系统多少位,内核版本,系统版本

[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 内核版本:2.6.32 64位 [root@lo......

庆沉
2015/11/14
0
0
Hp DL388 Gen9 linux 系统显示CPU单核

Hp DL388 Gen9 的服务器,安装了Centos 6.6 和 Ubuntu 15.04 两个系统皆显示CPU为单核 CPU型号:Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz Centos 6.6内核版本:Linux localhost 2.6.32-50......

silent_sam
2015/06/15
719
0
docker 二.docker 安装

Docker 安装 一.Docker安装 1.1.1 docker 安装在RHEL/centos上 **推荐是rhel/centos 系统的版本必须大于 6.5 以上 6系列最好是6.6 运行docker较稳定,低于6.5以下安装docker 第一要升级内核...

786376668
2015/04/27
0
0
CentOS 6.6 安装 VMware Tools

软件环境: VMware-workstation-full-10.0.3-1895310 CentOS 6.6 备注:CentOS 7.0安装过程中报错,找不到内核头文件,需要安装内核头文件 下载地址:https://pkgs.org/centos-7/centos-x866...

ifnoelse
2014/11/24
0
0
CentOS 6.6 正式发布

虽然 RHEL/CentOS 7 已经发布一段时间了,但是 6 系列仍然在继续更新和维护。昨日,该系列跟随其上游版本,发布了其最新更新版本 CentOS 6.6。由于 RHEL/CentOS 7 带来了很多大幅变化,包括 ...

oschina
2014/10/28
33.3K
45
CentOS 6.7 发布,全面支持 LVM 高速缓冲

CentOS 6.7 发布,CentOS 是一个企业级的 Linux 发行版本,它源于 Red Hat 免费公开的源代码。 CentOS 完全遵守 Red Hat 的再发行政策,并且以功能上的兼容性为目标。CentOS 对组件的修改主要...

oschina
2015/08/07
18.5K
27
(早上 10点 —— 下午17点:43) Centos 6.6 编译4.2内核...精神已崩溃

今天听人说,会编程的人不一定会Linux;会Linux的一定会编程 ———— Candy 也是醉了,笑而不语! 进入主题吧!今天闲的蛋疼,突然发现我们公司测试机Centos 6.6 的Kernel 3.10 的内核,根据...

水果糖
2015/09/01
185
0
SELinux 再次被绕过

HardenedLinux 写道 "GNU/Linux厂商SuSE Linux的安全研究人员Sebastian Krahmer继公开绕过SELinux的CVE-2015-1815的PoC后又一次的绕过了SELinux,这次公开的PoC可以正常工作在CentOS 6.6, 6...

oschina
2016/06/23
4.8K
7
centOS6.6安装图解

centOS6.6安装图解 操作系统:CentOS 6.6 64位 IP地址:192.168.1.31 网关:192.168.1.1 DNS:192.168.1.1 114.114.114.114 备注: CentOS 6.6系统镜像有32位和64位两个版本,这里提供DVD版的...

寻丶
2017/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python模板中循环字典

{% for k,v in user.items %} {{ k}} {{ v}} {% endfor %}

南桥北木
24分钟前
0
0
Java8系列之重新认识HashMap

简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示: 下面针对各个实现类...

HOT_POT
28分钟前
0
0
获取调用方的className

/** * 获取调用方的class * @return */private static String getInvoke() { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); S......

iborder
45分钟前
0
0
深入了解一下Redis的内存模型!

一前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符...

Java填坑之路
50分钟前
1
0
从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择

背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加。在这个背景下,平台的技术架构也完成了从传统的单体应用到微...

老道士
56分钟前
0
0
大数据学习的各个阶段

第一阶段:Linux课程讲解Linux基础操作,讲的是在命令行下进行文件系统的操作,这是Hadoop学习的基础,后面的所有视频都是基于linux操作的。鉴于很多学员没有linux基础,特增加该内容,保证零linux...

董黎明
今天
0
0
CVE-2013-0077 堆溢出分析

找了很久才发现这个环境比较容易搭建分析... 环境: 系统---Win XP SP3 漏洞程序:QQPlayer 3.7.892.400 出错DLL:quartz.dll 6.5.2600.5512 调试工具:x32db+gflag.exe 过程: 首先gflag设置...

Explorer0
今天
7
0
CISCO VPN Client Reason 442 WIN8/10错误解决方案

http://jdkleo.iteye.com/blog/2163493 引用 http://my.oschina.net/cloudcoder/blog/220391?p={{currentPage 1}} 在使用cisco VPN 客户端登录时,产生Reason 442:Failedto enable Virtual......

chenfj_fer
今天
1
0
信号量有没有容量限制?

之前一直误以为信号量初始化的时候那个初始化的值是信号量的“容量”,昨天同事指出了我的错误,最初我是不相信的,经过以下代码实践,证明了我的错误: Java版: import java.util.concurr...

锟斤拷烫烫烫
今天
1
0
【RocketMQ】Message存储笔记

概述 消息中间件存储分为三种,一是保存在内存中,速度快但会因为系统宕机等因素造成消息丢失;二是保存在内存中,同时定时将消息写入DB中,好处是持久化消息,如何读写DB是MQ的瓶颈;三是内...

SaintTinyBoy
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部