建立一个定制Linux内核

1. 从源码RPM包建立一个内核
1.1. 获得源码
1.2. 准备内核源码树
1.3. 复制源码树和生成一个补丁
1.4. 配置内核选项
1.5. 准备建立文件
1.6. 建立新内核
1.6.1. 以下是通用教材
1.7. 安装新内核
2. 只建立内核模块(kernel modules)

1. 从源码RPM包建立一个内核
注意:下面的说明只对Fedora12和之后版本有效

这份文档为那些想要重新建立内核的高级用户提供说明。但是,重新建立的内核无法得到Fedora内核团队的支持。但是,您是高级用户,您可以自己处理,对吗?无论如何,高级用户建立定制内核的原因有如下几项:

* 测试他们编写的或从其他地方得到的补丁。

* 重新配置已经存在的内核。

* 学习内核或内核开发。

这些说明也可以用于简单的准备内核源码树。

开始之前,确认系统已经安装了必要的软件包:

* rpmdevtools

* yum-utils

yum-utils是一个默认的包。用如下命令安装:

su -c 'yum install rpmdevtools yum-utils'

如果您要用make xconfig,安装如下软件是必要的:

* qt3-devle

* libXi-devel

* gcc-c++

对于Fedora 15,用如下命令:

su -c 'yum install qt3-devel libXi-devel'

1.1. 获得源码
不要用root建立软件包

用root建立软件包是很危险且没有必要的,即使对于内核。下面的指令允许任何普通用户从源码包开始建立和安装内核

1. 在您的用户主目录下准备一个建立RPM包的环境,运行如下命令:

rpmdev-setuptree

这个命令新建了几个不同的目录${HOME}/rpmbuild/SOURCES, ${HOME}/rpmbuild/SPECS和${HOME}/rpmbuild/BUILD 。${HOME}是您的用户主目录。

2. 下载kernel-<version>.src.rpm文件。用--enablerepo选项使能适当的源码库。(yumdownloader --enablerepo=repo_to_enable --source kernel)

yumdownloader --source kernel

3. 用yum-builddep命令为内核源码安装编译依赖。

su -c 'yum-builddep kernel-<version>.src.rpm'

4. 用如下命令安装kernel-<version>.src.rpm

rpm -Uvh kernel-<version>.src.rpm

这个命令把RPM目录写入了${HOME}/repbuild/SOURCES和${HOME}/rpmbuild/SPECS,${HOME}是您的用户主目录。可以忽略像下面这样的信息:

warning: user kojibuilder does not exist - using root

warning: group kojibuilder does not exist - using root


空间需求。完全的内部编译过程需要若干GB的额外空间。

1.2. 准备内核源码树
这一步扩大为整个内核源码文件。这对于查看代码、编辑代码和生成补丁是必需的。

1. 用如下命令准备内核源码树:

cd ~/rpmbuild/SPECS

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

现在,内核源码树就位于~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch>目录。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/21905.html