如何编译Linux kernel


Kernel:
kernel是操作系统最底层的东西。它主要负责进程管理、内存管理、文件管理、设备管理以及网络管理等。我们希望计算机完成的各项工作都需要核心的支持。核心替我们直接和硬件进行沟通,所以如果某人开发出一个全新的硬件,而当前核心却不支持,那该硬件就英雄无用武之地了。

Linux作为一个自由软件,在广大爱好者的支持下,内核版本更新很快,新的内核修订了旧内核的BUG,并且增加了许多新的特性。如果用户想要使用这些新特性、或想根据自己的硬件设备以及服务器的用途来量身定制一个高效,稳定的内核,就有必要重新编译内核。针对专用服务器来说,www.bkjia.com核心在满足应用需要的前提下应越精简越好。

核心所在的位置:
/boot/bzImage

外挂模块所在位置:
/lib/modules/`uname -r`

升级核心注意事项:
不同版本的核心之间差异较大,一般不应跨版本升级,否则会有意想不到的错误发生。
诸如: 2.2.xx -> 2.4.xx 或 2.4.xx -> 2.6.xx

核心主站(www.kernel.org)
下载核心源代码: linux-2.6.22.3.tar.gz

编译前的准备工作
-----------------------------------------------------------------------------
解压:
cp /usr/src
tar -zxvf linux-2.6.22.3.tar.gz

仔细阅读README,这是在Linux上安装软件要养成的习惯。
cd /usr/src linux-2.6.22.3
more README

配置核心与外挂模块,这一步相当的关键,要根据自己的硬件配置以及服务器的用途来精心配置。
make menuconfig

如何编译Linux kernel

开始编译
-----------------------------------------------------------------------------
make clean
make gzImage
make modules
make modules_install
make install


reboot
在bootloader中指定刚编译的核心来启动,如果编译正常的话,那uname -r将显示2.6.22.3。

相关内容