说在前面的话:
话说网上资料很多.这个很感谢一些朋友的无私奉献.但是.我想鄙视一下网上那些到处乱抄的人.抄也不抄全了.这样很害人的好不好...特别是对我们这样的新手来说...很多都是误导...
以下是我个人在近一个月内编译内核的经验中总结出来的.仅供参考.并感谢网上给与我支持的人.THS...
---------------------------华丽的分割线-----------------------
系统环境:
UBUNTU 9.04 KERNEL 2.6.28.11
下载基本的工具:MODULES_INIT_TOOLS
下载内核:2.6.28.9
--------------------------------------------
#tar zxf linux-2.6.28.9.tar.gz /usr/src //解压要编译的内核到/usr/src文件夹下
#cd /usr/src/linux-2.6.28.9 //进入内核解压后的目录
#make mrproper //没事先清理下
#make menuconfig //配置.config文件 [这个不会配置的参考网上资料]
//因为我内核更改不大.所以用的是#make oldconfig
#make //这个包含了make bzImage & make modules两条命令
#make modules_install install //这个包含了make modules_install与make install
//以上做的就是编译内核的基本过程.这上面做完了后.你会在/LIB/MODULE目录下看见一个心的以内核名字命令的文件夹...
//下面4步.是把新编译的内核加入到引导里面去...
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.28.9 //拷贝内核镜像 # cp System.map /boot/System.map-2.6.28.9 //建立系统符号链接 //其实这上面三步在UBUNTU下.MAKE时都帮你做好了...如果自己手动做的话.个人不建议覆盖原来的东西 .. //因为在你内核编译配置出错了后.你还可以用原来的内核启动系统... # /sbin/mkinitrd initrd-2.6.28.11.img 2.6.28.9 //这一步.我不知道是不是必要的.很多网上那些摘抄的人都没有提到这一句 //不过原来编译过很多次.都没有家这一步.然后修改GRUB的MENU.LST.加载新的内核启动.就会出现 //VFS什么什么的无法加载 ..系统就卡在那里无法动弹....但是如果貌似同版本的内核可以沿用原来版本的INITRD.IMG文件,比如说都是2.6的 ... //但是UBUNTU下并没有MKINITRD命令.而是用mkinitramfs命令代替了 #mkinitramfs -o initrd-2.6.28.9.img /lib/module/linux-2.6.28.9 //前面是要生成的INITRD文件.后面是模块目录.... 最后就是更改系统菜单了..恩...这个最简单了... 把MENU.LST下原来的COPY一份.改改就可以了 ..(先声明.我用的是GRUB) 好了..基本上就只这样..