今天在Ubuntu10.10下编译内核linux-2.6.38成功
以下是操作步骤,以供参考;
1. 在http://www.kernel.org/ 下载linux-2.6.38,
你可以选择稳定版或者新的测试版,但一定要下载Full source版。
2.安装有关编译程序。安装make ,gcc, make-kpkg,运行xconfig等等和编译内核相关的工具.
执行;
sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot
3.解压源代码
执行;
tar jfx linux-2.6.38.tar.bz2 -C ~/linux
找不到linux目录就创建一个,~/linux可以是任意目录,但是注意,要预留2G以上的空间
4.进入源代码所在目录
执行;
cd ~/linux/linux-2.6.38/
5,清理以前编译留下的临时文件,如果是刚刚解开的源码包,不用执行此步
执行;
make mrproper
6.使用make localmodconfig自动精简内核
执行;
make localmodconfig
自动精简内核完成之后就该自己上场对内核进行相应精简的,因为每个人对内核的要求都不太相同,所以这里也每必要给出所谓的最佳配置文件。不过鉴于有些选项实在晦涩难懂且很难搜索到相应的解释,这里推荐各位TX一本不错的内核编译选项手册,绝大部分的配置选项都能够在上面找到。
下载:《内核编译选项手册》
7,开始编译内核
执行;
sudo make-kpkg clean
sudo fakeroot make-kpkg --initrd --append-to-version=-siyuantianxia kernel_image
注:其中的“-siyuantianxia”可以改成你自己喜欢的内容,按照我的编译出来的内核名字就是“linux-image-2.6.38-siyuantianxia”
8.安装内核
编译好的内核在上一层目录,可双击安装
or
执行;
cd ..
sudo dpkg -i linux-image-2.6.38-siyuantianxia_2.6.38-siyuantianxia-10.00.Custom_i386.deb
9.安装完成后和老内核比较一下大小:
执行;
ls -l /boot/
10,重启验证内核
sudo reboot
重启后打开终端输入
uname -r
查看版本号,如果是2.6.38就可以安心了
如果发现已经安装的新内核包出现问题不合适,可以在启动Grub中选择原来的内核进入系统,然后删除新内核推到来过
sudo dpkg -P linux-image-2.6.38-siyuantianxia_2.6.38-siyuantianxia