基本工具有:gcc,libc5-dev或libc6-dev,binutils,make,bin86,modutils,mawk或gawk,gzip,shellutils,grep,kernel-package,fakeroot
如果要使用menuconfig进行配置的话,需要安装libncursesX.X-dev(如:libncurses5-dev)
对于2.4版本以上的内核可以选择使用图形界面的xconfig,需要安装tkX.X-dev(如:tk8.4-dev)
对于2.6内核,选择更多。如果使用xconfig,则需要安装libqt3-mt-dev。如果不想用xconfig的话,可以用gconfig,需要安装libglade2-dev
# apt-get install kernel-package ncurses-dev fakeroot initrd-tools 根据自己使用的Linux发行版来选择基本工具.
2、安装内核源码,如:
# apt-get kernel-source-2.6.22.9
或者直接下载kernel-source-2.6.22.9.tar.gz
直接放在/usr/src目录中
3、解压内核源码
# tar zxvf /usr/src/kernel-source-2.6.22.9.tar.gz
# cd linux-2.6.22.9
# cp /boot/config-2.6.22.9 .config //把当前内核的配置作为模板 /boot/config-2.6.22.9根据自己的内核版本文件而定.
4、编译内核
1)配置
make config 使用文本对话方式(很麻烦,不好用)
make menuconfig 使用菜单方式(常用的方法,较花时间)
make xconfig或make gconfig 使用GUI方式(很好用,但是不太稳定)
配置,也是最麻烦的一步,N多选择,如果要把.config作模板,配置开始时就load一下即可
2)清除源码树并复原 kernel-package 参数
# make-kpkg clean
3)编译
# make-kpkg --revision=mykernel.1.0 --initrd kernel_image
其中,mykernel.1.0可以自定义,表示内核名称和编号 编译内核可能要花费较长的时间(一般都需要1个小时以上),取决于不同机器的性能。
5、安装内核
编译完的内核是一个deb包,放在/usr/src目录下,可以使用dpkg命令直接安装,如:
# dpkg -i ../kernel-image-2.6.22.9-mykernel.1.0_i686.deb
如果安装成功没有出现任何错误的话,内核已经编译成功,menu.lst的引导菜单也已自动修改好.
VFS : Cannot open root device "hdb7" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing : VFS : unable to mount root fs on unknow-block(0,0)
提示这个的话,可能你的内核编译的基本工具有的没有安装,自己再多看看,多编译几次!