【翻译】Ubuntu中编译Linux内核的简略方法

以下的内容来自于http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html,原文为英语,针对平台是Debian,但在Ubuntu之下依然可行。

网上各种讲解编译内核的文章大多比较繁琐,但这一篇则较为简单,所以我将其意译为简体中文,加入了一些自己的理解,有兴趣的可以阅读一下。

第一步,得到Linux内核源代码包。

获得Linux源码的办法很多,如果你现在在windows平台之下,那么你可以访问http://kernel.org/获得内核的稳定版源码包。

如果你在Ubuntu或者Debian发行版上,那么你可以用wget来获得源码包:

$ cd /usr/src
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-x.y.z.tar.bz2

源码包通常命名是linux-x.y.z.tar.bz2。其中的x、y、z都是版本号,偶数为稳定版,奇数为测试版。

第二步,解压源码包。

下载好的源码包是经过一次打包和一次压缩的,可以分别使用bzip2和tar先解压再解包,也可以直接一步到位:

# tar -xjvf linux-2.6.25.tar.bz2

第三步,配置编译内核所需工具。

编译源码之前需要一些必备的工具,首先就是编译器和链接器。一般选用gcc:

# apt-get install gcc

为了在设置配置文件的时候使用一个简略的图形化界面,还可以安装ncurses:

# apt-get install libncurses5-dev

第四步,设置编译配置文件。

编译之前必须设置好配置文件。如果在第三步中已经安装好了ncurses,那么就可以开始设置配置了:

$ make menuconfig

这时你会进入一个简略的图形选项界面。这个界面当中已经有很多选项是配置好的了,如果没有你需要做改动的地方,那么直接退出保存即可。

第五步,编译内核。

首先,编译内核本身:

$ make

其次,编译内核模块:

$ make modules

第六步,组装新内核。

首先将编译好的模块组装到内核:

$ su -
# make modules_install

然后开始安装新内核:

# make install

第七步,生成initrd文件。

# cd /boot
# mkinitramfs -o initrd.img-x.y.z x.y.z

注意替换版本号。

第八步,修改grub启动项配置。

# update-grub

第九步,重新启动计算机。

# reboot

你可能感兴趣的:(ubuntu)