原创:索索
我是在Debian上编译内核2.6.59.9,使用的软件包都是各发行版都有的(安装方法会不一样),所以在其他发行版上应该也可以,如果有测试通过或没通过的,麻烦哥们儿完事了在这吼一下,也方便大家嘛,谢过!
1、以普通用户(我这里的用户名是jtkk)登录系统,从http://kernel.org/下载最新的内核,下载地址是:http://www.hanwater.lkams.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.9.tar.bz2;将下载后的文件存在家目录(/home/jtkk)。
2、解压
tar xjf linux-2.6.25.9.tar.bz2
3、安装相关软件
1)如果在字符界面下配置内核编辑选项,需要安装
apt-get install libncurses5-dev
2)如果在图形界面下配置内核编辑选项,需要安装
apt-get install libqt3-mt-dev
3)安装initrd.img生成工具
apt-get install initramfs-tools
4、使用旧的内核参数
cd linux-2.6.25.9
cp /boot/config-`uname -r` .config
make oldconfig
此过程会使用.config中的参数,并提问新内核新增参数的设置,可用n、m或y做答,分别表示不编辑进内核、编辑成模块或编辑到内核。如果不知道参数的意思建议直接按回车,接受默认的值。具体内核参数的含意,网上文章一箩筐,大家找找看吧。
5、如果以前编译过内核,则需要清除旧的中间文件
make mrproper
6、设置内核参数
make menuconfig
或
make xconfig
7、开始编译,生成内核文件和模块文件
make
8、安装编译好的模块,需要换成root用户
make modules_install
该命令会将模块安装到/lib/新内核版本号码/
9、安装内核文件到到/boot目录
make install
10、生成initrd.img文件
mkinitramfs -o /boot/initrd.img-2.6.25.9 2.6.25.9
记得不要使用mkinitrd生成img文件(应该用mkinitramfs),2.6内核使用新的格式(参考:http://wiki.debian.org/InitrdReplacementOptions 或http://kernel-handbook.alioth.debian.org/ch-initramfs.html)。
以前只会用Debian文档介绍的方法编译过内核,使用本方法时,由于生成img文件的工具没用对,所以新内核总是panic(这下好了)。
11、修改grub.conf
具体的内容比较简单,这里就免了。
12、OK,重启。