如何自定义编译内核

出自Ubuntu中文

# 确保已经安装gcc-3.4,libqt3-mt-dev,bootcd-mkinitrd,别人那儿是用到某某文件再来安装,弄得我将ubuntu5.10的光盘取了两三次,故此一次装齐。

# 将当前用户加入src组,$adduser myusername src;这一步在ubuntu下面也可以在用户和组管理的界面下进行的。

# 安装源代码, $sudo apt-get install linux-source,提示“软件包 linux-source 是一个由下面的软件包提供的虚拟软件包:linux-source-2.6.12 2.6.12-10.34,请您明确地选择一个来进行安装。”我下的是linux-source-2.6.12,不知道为何2.6.12-10.34下载不了。 源码压缩包为/usr/src/linux-source-2.6.12.tar.bz2,解压 tar -xjvf linux-source-2.6.12.tar.bz

# 在解压缩的文件夹内,即/usr/src/linux-source-2.6.12, $sudo make mrproper,确保源代码目录下没有不正确的.o文件以及文件的相互依赖, $sudo make xconfig,生成.config文件 这一步要选择的太多不敢乱动,就把一些明显用不上的去掉了,像业馀无线电,isdn,atm,红外线,软盘, $sudo make $sudo make modules_install install,在/boot/下生成vmlinuz-2.6.12文件,在/usr/src/linux-source-2.6.12/arch/i386/boot/下生成bzImage文件 $sudo mkinitrd -o /boot/initrd.img-2.6.12 2.6.12,在/boot/下生成initrd.img-2.6.12文件

# 修改/boot/grub/menu.lst,添加 title entry to the kernel 2.6.12 compiled by readlei 这个随便写 root (hd0,7) kernel /boot/Vmlinuz-2.6.12 root=/dev/hda8 ro quiet splash initrd /boot/initrd.img-2.6.12 savedefault boot