CentOS内核定制

版本: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内核定制,布布扣,bubuko.com

时间: 2024-10-13 10:53:19

CentOS内核定制的相关文章

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-time为长期支持. 查看看当前内核版本 uname -r 安装elrepo(http://elrepo.org/tiki/tiki-index.php) 导入public key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

【转】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.src.rpm 下载地址:http://vault.centos.org/6.2/os/Source/SPackages/ 官网:http://vault.centos.org/ 1.4 从kernel-2.6.32-220.el6.src.rpm获取源码 1. rpm -i kernel-2.6

升级CentOS内核 - 2.6升级到3.10

*因为学习docker的需要,docker的官方推荐内核使用3.8以上,所以本人决定把CentOS内核升到长期稳定版的3.10. ##记得切换到root用户执行升级操作. [[email protected] ~]# uname -a ##旧版 Linux localhost.localdomain 2.6.32-279.el6.i686 #1 SMP Fri Jun 22 10:59:55 UTC 2012 i686 i686 i386 GNU/Linux [[email protected]

centos内核编译与其签名机制

linux内核3.7引入的签名机制,极大地方便了对内核模块的安全认证,同时也为操作系统厂家提供了IP保护的技术手段.不过,凡事有利也有弊.对刚刚接触具有签名机制的内核的工程师而言,需要一段理解并适应新内核的过程.为此,小编结合自己的工作经历,总结了一些要点和大家一起分享 . 1.什么是内核签名机制? 内核签名就是内核利用公钥对驱动模块校验的过程,对检验通过的模块,准许加载,而对没有签名的内核驱动模块或者签名没有通过检验的模块,根据不同的内核选项,禁止或者允许加载. 2.如何使用内核签名? 内核签

centos内核编译配置

1.下载内核,下面是内核官网地址:https://www.kernel.org/ tar.xz    是完整的内核包(完整的内核包是通过两次压缩得到的.一次是xz,一次是tar) pgp      是.tar.sign后缀的文件.用于校验类似于MD5 patch    是补丁包 2.解压文件到/usr/src/文件夹下: xz -d 文件名称.tar.xz   二次解压:tar -zxvf 文件名称.tar 3.假设是第一次编译内核,并没有上次的残留文件能够能够跳过: make mrproper

微软 Hyper-V 环境,CentOS内核冲突

在Hyper-V环境安装CentOS一直使用正常 Hyper-V 版本 :6.3.9600.16384 CentOS 版本: CentOS Linux release 7.3.1611 某次服务器重启,发现不能正常启动,卡在启动界面 回想最近操作,删除过一些过期账户,使用过yum update进行过升级. 在grub启动选项里选择最后一项rescue求援模式可以进入,备份/etc和重要资料. 用history查询命令历史,没有特殊地方. 这时另外一台服务器也出现同样问题,通过命令历史对比,发现均

centos 内核

CentOS7设置GRUB系统内核开机选单 方法一:(创建.查看.编辑.用命令设置) #根据/boot/目录内的文件 #自动创建GRUB内核配置开机选单 grub2-mkconfig -o /boot/grub2/grub.cfg #说明:/boot/grub2/grub.cfg文件不可手工编辑 #查看可选的GRUB内核配置开机选单 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg #说明

centos内核参数性能优化

摘要:简介提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题.要提高Linux系统下的负载能力,可以使用nginx等原生并发处理能力就很强的web服务器,如果使用Apache的可以启用其Worker模式,来提高其并发处理能力.除此之外,在考虑节省成本的情况下,可以修改linux的内核相关TCP参数,来最大的提高服务器性能.当然,最基础的提高简介 提高服务

centos内核引导参数

绝大部分的内核引导参数的格式如下(每个参数的值列表中最多只能有十项): name[=value_1][,value_2]...[,value_10] 如果"name"不能被识别并且满足"name=value"的格式,那么将被解译为一个环境变量(比如"TERM=linux"或"BOOT_IMAGE=vmlinuz.bak"),否则将被原封不动的传递给 init 程序(比如"single"). 内核可以接受的参