版本号:1.0.1

作者:石硕

更新:2014-05-09 15:04:53

============================================================

出于工作须要。定制CentOS内核,以改进TCP的传输效率,怎样改进这里暂且不提,以下重点解说怎样获取源代码,编译。

1. 编译前的准备

以【root】用户安装下列组件:

su root

yum -y groupinstall "Development Tools"

yum -y install ncurses-devel qt-devel

yum -y install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto

yum -y install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel

yum -y install newt-devel python-devel zlib-devel

2. 安装内核的源码组件

【注】必须使用【非root】用户运行命令

rpm -i http://vault.centos.org/6.5/updates/Source/SPackages/kernel-2.6.32-431.11.2.el6.src.rpm 2>&1 | grep -v mock



附:kernel-2.6.32-431.11.2.el6.src.rpm 源在国外。下载速度可能会比較慢。能够借助BGP机房或VPN加速。



附源码地址:

http://vault.centos.org/6.5/os/Source/SPackages/

http://vault.centos.org/6.5/updates/Source/SPackages/

3. 解压及预备源码文件

【注】必须使用【非root】用户运行命令

cd ~/rpmbuild/SPECS

rpmbuild -bp --target=$(uname -m) kernel.spec



附:如今内核的源码文件夹树能够在 ~/rpmbuild/BUILD/kernel*/linux*/ 这个文件夹内找得到。

4. 编译新内核

【注】必须使用【非root】用户运行命令

cd ~/rpmbuild/SPECS

rpmbuild -bb --with baseonly --without debug --without debuginfo --target=`uname -m` kernel.spec 2> build-err.log | tee build-out.log

附:此过程可能须要花费90分钟左右,请耐心等待。

附:如今自己定义内核的 rpm 文件能够在 ~/rpmbuild/RPMS/`uname -m`/ 文件夹内找到。

5. 安装新内核

【注】必须使用【root】用户运行命令

su root

rpm -ivh kernel-*.rpm

6. 验证

重新启动,查看内核版本号

uname -a





參考资料:

[1]CentOS Wiki http://wiki.centos.org/zh/HowTos/Custom_Kernel#head-981e27f326384c58516d3b2051b225526bb0a50a

CentOS内核定制的更多相关文章

  1. yum和编译两种方式升级or降级Centos内核

    http://blog.51cto.com/renzhiyuan/1882599 今天探讨用yum和编译两种方式升级或者降级内核版本: 升级:比如玩kvm,docker等虚拟化,centos内核则升级 ...

  2. 升级CentOS内核 - 2.6升级到3.10

    *因为学习docker的需要,docker的官方推荐内核使用3.8以上,所以本人决定把CentOS内核升到长期稳定版的3.10. ##记得切换到root用户执行升级操作. [root@localhos ...

  3. Linux:centos内核升级

    centos内核升级 centos升级2.6内核到3.10 在yum的ELRepo源中,有 m ain l ine(3.13.1). l ong- t erm(3.10.28)这2个内核版本,long ...

  4. Centos内核升级的三种方法

    本文出自 “存储之厨” 博客,请务必保留此出处http://xiamachao.blog.51cto.com/10580956/1755354 在基于CentOS平台的工作过程中,难免有时需要升级或者 ...

  5. 【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error 'numi_watchdog' undeclared)

    一.下载CentOS源码 1.1 查看CentOS版本 cat /etc/issue 1.2 查看Linux内核版本 uname -r 1.3 下载 文件名:kernel-2.6.32-220.el6 ...

  6. CentOS内核升级

    CentOS 6.5自动内核升级的主要步骤: 1)内核文件下载到/usr/src/kernel/目录下: 如:2.6.32-431.5.1.el6.x86_64编译后差不多有48M大小: 2)生成的引 ...

  7. 通过YUM升级centOS内核,以便安装docker

    安装Docker要满足一定的条件,对于cents系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3.10,需要升级到这个版本以上,才能安装docker. 第一 ...

  8. 第三节 - centos 内核启动、救援模式、 ls 、目录结构

    Linux 第三节一.CentOS 启动: 1.内核引导: 1.win/linux 通电,2.BISO自检(CPU,内存,硬盘等 | U盘.光驱.网卡.硬盘启动 通过MBR知道内核内存硬件驱动位置并加 ...

  9. 升级CentOS内核 - 2.6升级到3.10/最新内核

    ##记得切换到root用户执行升级操作. [root@localhost ~]# uname -a ##旧版 Linux localhost.localdomain 2.6.32-279.el6.i6 ...

随机推荐

  1. 转载 python多重继承C3算法

    备注:O==object 2.python-C3算法解析: #C3 定义引用开始 C3 算法:MRO是一个有序列表L,在类被创建时就计算出来. L(Child(Base1,Base2)) = [ Ch ...

  2. Javascript - 表达式与语句

    表达式与语句(Expression&Statement) 流程控制语句 1.嵌入式语句 嵌入式即这种语句可以无限嵌套N层.所有嵌入式语句只需要键入首个关键单词,在visual studio里按 ...

  3. MapReduce--shuffle

    一.Shuffle简介 Shuffle的正常意思是洗牌或弄乱,shuffle的大致范围就是把map task的输出结果有效的传送到Reduce端.也可以这样理解,shuffle描述着数据从map ta ...

  4. Windows命令-系统木马取样

    1.前言 工作中偶尔会遇到去现场提取木马样本回公司分析的情况.如果是生产环境下,不方便安装各类抓包.安全软件时.能用系统自带的命令去定位出木马程序相关的信息是最理想不过的状态. 2.Windows常用 ...

  5. maven:多个镜像配置

    <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>nexus-aliyun</mi ...

  6. google closure 笔记-SOY template

    一 使用js模板 closure template 目前支持Java和js.但是模板语法的设计不依赖于任何现成的语言,所以理论上可以支持任何语言,只是暂时只有java编译器. 使用js模板:编写模板文 ...

  7. 文件时间戳修改touch和查看stat和ls --time

    查看文件时间戳命令:stat awk.txtFile: `awk.txt'Size: 20  Blocks: 8  IO Block: 4096  regular fileDevice: 801h/2 ...

  8. 面试经典---数据库索引B+、B-树

    大型数据库数据都是存在硬盘中的,为了操作的速度,需要设计针对外存的数据结构.而数据库索引技术就是在面试中反复被问到的一个问题:数据库索引是怎么实现的?数据库索引越大越好吗? 需要详细了解下这方面的知识 ...

  9. Ubuntu 12.04 下 Sublime Text 3 Build 3047 破解

    1. $sudo vim /opt/sublime_text/sublime_text 2. 将文件转成十六进制形式.在 vim 中输入: :%!xxd 3. 查找数字串 “4333 3342 303 ...

  10. darknet

    darknet第二作者:https://github.com//AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects yolov3实现 ...