2007年2月15日星期四

Ubuntu 6.10下编译内核

1、准备工作

替换/bin/sh
在Ubuntu 6.10中, /bin/sh其实是/bin/dash的一个链接.但/bin/dash好像会有问题。所以就把它换了.

rm -f /bin/sh
ln -s /bin/bash /bin/sh


2、安装编译内核要用的包

apt-get update
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2


3、下载内核源代码
可以到www.kernel.org下载:

cd /usr/src
wget
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2

解开:

tar xjf linux-2.6.18.1.tar.bz2
ln -s linux-2.6.18.1 linux
cd /usr/src/linux


4、打补丁
假定已经下载了补丁文件是 patch.bz2 到 /usr/src. :

bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1

第一个命令是测试用的。没什么问题的话现动真格的。

若想用试验中的内核,比如 2.6.19-rc4 ,可以这样:

cd /usr/src
wget
http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc4.bz2
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1

5、配置内核参数
最好从一个你已经配置好的内核参数开始。如:

cp /boot/config-`uname -r` ./.config

然后运行

make menuconfig

配置好后,别忘记保存

6、编译内核
运行命令:

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

在 --append-to-version= 后,你可以写入任意字符串来标记你的内核,但要以送减号(-)开始且不能含空格.

现在耐心等待吧....


7、安装
编译完成后,你可以在 /usr/src 中发现 deb 文件,就是编译好的内核.

cd /usr/src
ls -l

如可能是这样的linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (这是真正的内核) 和 linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (这是你以后编译内核要用的). 安装:

dpkg -i linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb

现在重启机器,就可以看到你的内核了

没有评论: