Welcome 微信登录

首页 / 操作系统 / Linux / Linux内核编译过程详细讲解(kernel2.6.7)

    花了几天才编译成功kernel2.6.7,其过程真可谓艰辛.古语有云:"苦尽甘来!"现在终于可以乐上一阵了.由于许多朋友对操作的顺序及某些重要的配置知之甚少或知之不详,往往病急乱投医.加之网上的信息多且烦杂,使得编译内核成功率不高,甚至造成原来的系统崩溃的也不在少数.我就是其中一个。

其实,编译内核并不是一件难事.如果能按照正确的方法来操作,最多花上一个半小时就能搞定.是不是很受鼓舞呀!

废话少说,现在我们马上开始.我原来的系统是RedHat9.0,内核2.4.20-8,编译的内核2.6.7,仅供参考.

共分为四部分:编译前准备->编译配置->编译过程->运行内核的常见问题

一 编译前准备

1)下载一份内核源代码,我下的是linux-2.6.7.tar.bz2,你可在如下地址下载它或者是更新的版本.

http://kernel.org/pub/linux/kernel/v2.6/

2) 下载最新版本的module-init-tools( "module-init-tools-3.0.tar.gz" and "modutils-2.4.21-23.src.rpm")

http://www.kernel.org/pub/linux/kernel/people/rusty/modules/module-init-tools-3.0.tar.gz

http://www.kernel.org/pub/linux/kernel/people/rusty/modules/modutils-2.4.21-23.src.rpm

3)安装module-init-tools. 它会替代depmod [/sbin/depmod]和其他工具.

tar -zxvf module-init-tools-3.0.tar.gz

cd module-init-tools-3.0

./configure --prefix=/sbin

make

make install

./generate-modprobe.conf /etc/modprobe.conf

4)安装modutils-2.4.21-23.src.rpm. 你可能会看到"user rusty and group rusty not existing"的警告. 没关系,你只需强制安装就是了.如果你不对Redhat 9和Redhat 8做这几步, 你将会在"make modules_install"这一步时出现问题.

rpm -i modutils-2.4.21-23.src.rpm

rpmbuild -bb /usr/src/redhat/SPECS/modutils.spec

rpm -Fi /usr/src/redhat/RPMS/i386/modutils-2.4.21-23.i386.rpm

5)解压缩内核源代码.把下载的源代码包放到目录/usr/src下,然后

cd /usr/src

tar xvfj linux-2.6.7.tar.bz2

cd linux-2.6.7