1.安装编译环境
$sudo apt-get install build-essential kernel-package libncurses5-dev
2.下载内核源代码
访问 http://www.kernel.org ,下载准备要编译的内核源代码文件包。我选择下载版本为2.6.34的内核文件包。
3.解压内核文件包
在当前目录建立一个src文件夹,将所有文件解压至文件夹里。
4.详细配置及编译过程
a.首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行下面命令:
$ sudo make mrproper
b.根据现在系统内核模块信息配置编译选项
$ sudo make localmodconfig
此命令只将系统中已加载的内核模块来配置选项,可以避免编译不必要的内核模块,节省大量的时间。
c.进一步配置编译选项
$ sudo make menuconfig
执行此命令后出现选项窗口,可以根据实际的系统硬件配置更改选项。
注意事项:
1.如果系统的/boot是在ext4分区中,Support for Large Block Devices 一定要选中,否则必然系统引导失败。这个选项浪费我十几个小时,因为我的/boot刚好在ext4分区中,不幸中奖^^。
2.Processor family 选择 Core 2/newer Xeon ,并把Generic x86 support选项去掉,同时Timer frequency选择1000Hz . 这些选项能有效改进桌面环境响应速度.
3.将Device Drivers 没有硬件选项去掉,节省编译时间.
4.将File systems的文件系统要用到的模块编译进内核,比如ext2,ext3,ext4.
具体操作可以参考:
Ubuntu环境下编译2.6.25内核详解 http://budichina.com/yunwei/177
开始编译内核
$sudo make-kpkg clean
$ sudo make-kpkg --initrd --append-to-version=thinkpadr60 kernel_image kernel-headers
e. 安装内核并配置启动菜单
$ cd ..
$ sudo dpkg -i linux-image-2.6.34.6thinkpadr60_2.6.34.6thinkpadr60-10.00.Custom_i386.deb
$ cd /lib/modules/ 2.6.34.6thinkpadr60
下面是创建initrd.img文件
$ sudo mkinitramfs -o /boot/initrd.img-2.6.34.6thinkpadr60
下面是更新initrd.img
$ cd /boot
$ sudo depmod -a
$ sudo update-initramfs -k 2.6.34.6thinkpadr60 -c
下面是更新grub配置
$ sudo update-grub
至此,内核编译并安装配置完成.
小结:
1.编译内核的方法并不是只有一种,过程与操作方式都不同,自己根择需要选择合适自己的方式
2.编译内核确实可以改进桌面环境响应速度.
3.编译内核很费时间,如果没有必要的话就算了.