1、到www.kernel.org/pub/liunux/kernel所需要编译的内核源代码
2、安装必要的包,其中kernel-package是debian用以编译内核的工具;fakeroot是一个在系统中创建假root的工具;为dpkg在编译内核中所需udev是管理/dev和hotplug的守护进程;build-essential是创建deb包所需的信息列表;yaird是用来创建内核初始引导镜像的工具,注意笔者编译的时刻,lenny(testing)版本的debian下是没有这个包的,需要在etch(stable)或sid(unstable)下才有。
apt-get install kernel-package libncurses5-dev fakeroot
apt-get install build-essential udev
apt-get install libhtml-template-perl libparse-recdescent-perl
apt-get install yaird
3、把源代码放到kernel目录下并解压并进入该文件夹,如cd linux-2.6.24.3。
4、配置内核选项,选项内容巨多,笔者把reiserfs文件系统编译成内建的了,还增加了smp和超线程支持,并去掉无线,蓝牙,1394等不会用到的模块等等。
make clean && make mrproper
make menuconfig
5、创建内核的deb包,这个过程花费一定的时间,结果会在kernel目录下得到一个deb包,如linux-2.6.24.3_2.6.24.3_i386.deb。
make-kpkg clean
fakeroot make deb-pkg
6、安装内核的deb包
dpkg -i *.deb
7、创建Ramdisk
mkinitrd.yaird -o /boot/initrd.img-版本号
8、配置grub引导选项,如果不是grub引导的,请使用其他命令。
update-grub
9、如果不想要卸载就得内核的话,跳过(建议不要卸载,否则出了问题的话就惨了)。版本号可以在/boot下面看到。
dpkg --purge --force-remove-essential 内核软件包名称,包括完整版本号
10、重启,启动时选择新的版本号的那个选项就可以了。