苦战1300多分钟,编译centos6.3内核30遍,高效精简vps专用内核推

考虑到现在很多vps都只支持centos,但是由于centos系统的内核,用户态应用程与系统配置的高度统一完整,编译内核成为了一项比debian,freebsd,openbsd更有挑战的工作,为了广大fans的幸福,本人花了3天1200多分钟,对centos6.3在vm8.04下编译了28遍,总成正果,得到了一个比较满意的虚拟机内核。由于vps编译速度的。。。无奈只能进行vm编译,我想只要稍微更改下cpu类型和相关的kvm virtio驱动就可以投入使用,期待哪位大侠进行测试:

1,此内核删除了kvm,xen等虚拟相关选项,删除了selinux安全模块,已经所有的无用的驱动模块,分析功能,以及所有能删除的调试功能。

2,对内存分配机制更改为slub, 抢占模式有轻度抢占改为无抢占,制定cpu为amd,

hz=250,关闭ksm,加入了tomoyo安全机制。

3,对所有无关驱动模块,文件系统,辅助功能,进行了大清洗。

4,启动速度有很大提升,内存占也有较大下降。

5,此内核为学习型内核,大家可以参考学习,编译方法为传统的make menuconfig make -j 4 all make modules_install make install

次内核是正对web服务器使用,无虚拟kvm 功能,请各位同志参考使用,如果改进大家也可以相互交流,内核配置文件下载地址如下,请大家不要嫌积分太贵,一分钱一分货哦,下载后自行编译,学习:

http://down.51cto.com/data/453051 第一版

http://down.51cto.com/data/453087 第二版

使用方法:1,

yumgroupinstall DevelopmentTools # 这样做会确定你拥有编译时所需的一切工具。

yuminstallncurses-devel # 你必须这样才能让 make *config 这个指令正确地执行。

yuminstallqt-devel # 如果你打算用 make xconfig 而不是 make gconfig 或 make menuconfig,才需要这样做。

yuminstallhmaccalczlib-develbinutils-develelfutils-libelf-devel # 创建 CentOS-6 内核时需要它们。

2,把config-new.txt下载下来,改名为.config 复制到解压后的源码目录中

解压源码的命令:rpm -ivh kernel-2.6.32*.src.rpm

cd rpmbuild/SPECS

rpmbuild -bp –target=x86_64 kernel.spec

3,make oldconfig 再make menuconfig 修改cpu类型为自己的,我这里是amd的,注意是在vm8.04中运行的,如果是xen kvm中请自行更改相关驱动选项,和半虚拟选项。

4,make -j 4 all make modules_install make install

5,重启启用新内核

如果你还不满意非要去除所有debug信息,传统方法无法办到,因为你不能动kernel hack中的东西,一动就出错,我们只能使用centos专门的编译方法进行,次方法暂时没做测试,不过我找个时间测试下过程如下:

1,不同就是编译阶段解压源码后,修改好.config后,我们不适用make make modules等,我们首先把vim .config 修改第一行#空格x86_64 然后把.config 复制到源码目录中的configs/下 取名为kernel-2.6.32-x86_64.config 再复制kernel-2.6.32-x86_64.config到 ~/rpmbuild/SOURCES/下。

2,修改~/rpmbuild/SPECS/kernel.spec

cp $RPM_SOURCE_DIR/config-* .

改为:

cp $RPM_SOURCE_DIR/kernel-*.config .

删除下面这行

make -f %{SOURCE20} VERSION=%{version} configs

3,可以编译了rpmbuild -bb –without debug –without debuginfo –without kabichk

–without fips –target=x86_64 kernel.spec

4,编译好了之后就安装 ~/rpmbuild/RPMS/`uname-m`/ 目录内找到。切记要以 root 的身份,利用 rpm -ivh kernel-*.rpm

才会看到属于自己的那一片晴朗的天空。

苦战1300多分钟,编译centos6.3内核30遍,高效精简vps专用内核推

相关文章:

你感兴趣的文章:

标签云: