目的:制作一个和原版一样的centos 7,这里不是在谈更新内核
编译主机:centos 7.0 x86_64
目标:x86_64环境
编译方法:
概括
1 获得源码
2 编译bzImage 参考【3】
3 编译initrd
4 安装程序验证
5 引导程序验证
编译步骤:
1 下载源码 请按照参考 I need the kernel source的方法进行,下面列出主要步骤
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
[user@host]$ rpm -i http://vault.centos.org/5.11/updates/SRPMS/kernel-2.6.18-417.el5.src.rpm 2>&1 | grep -v exist
[user@host]$ cd ~/rpmbuild/SPECS [user@host SPECS]$ rpmbuild -bp --target=$(uname -m) kernel.spec
从官网下载,并整理为源码。
这个步骤比参考2的简单方便,动作标准。
研究kernel.spec 发现该步骤完成下面几个内容
(a) 为源代码打补丁
(b) 为源代码配置好config文件(即跳过make menuconfig)
因而本步骤出来的源码可以直接进入make
2 编译
对步骤1解压出来的kernel源代码进行编译
make bzImage可以得到bzImage System.map
当然也可以make all得到vmlinuz FIXME
完整编译使用
make可得到initrd
(to be continued)
参考
1
2
http://www.centoscn.com/CentOS/Intermediate/2015/0205/4636.html
3 bzImage和vmlinuz,vmlinux,zImage可认为是一个东西,就是内核。
4
http://www.lifelinux.com/how-to-compile-install-new-kernel-3-13-6-in-centos-6-5/?utm_source=tuicool&utm_medium=referral
原文链接:https://www.f2er.com/centos/379249.html