1. 下载内核源码的压缩包 linux-2.6.30.5.tar.bz2,有56MB大小
2. 解压出来后这个内核源码的文件夹linux-2.6.30.5,有332MB大小
3. 查看编译所需的最新版本的软件依赖的话,在Documentation/Changes文件里
4. make mrproper
确保内核源文件中没有旧的.o文件与依赖关系
5. make O=/usr/src/kernels/linux-2.6.30.5 menuconfig
配置内核,生成配置文件 .config
6. make O=/usr/src/kernels/linux-2.6.30.5
- -| 花了70分钟左右才在自己的机器上编译完成,在实验室的机器只要30分钟不到
编译完后的/usr/src/kernels/linux-2.6.30.5文件夹大小为1.6GB
只用一个make命令,是否已经包含了 make bzImage 跟 make module ?
7. make O=/usr/src/kernels/linux-2.6.30.5 modules_install
花了两分钟时间安装模块,完成后/usr/src/kernels/linux-2.6.30.5文件夹大小仍为1.6GB
这时/boot目录下多了几个文件:
System.map(软链接,指向后者),
System.map-2.6.30.5;
vmlinuz(软链接,指向后者),
vmlinuz-2.6.30.5
initrd-2.6.30.5.img
有点费解为什么不是在第6步后产生呢?或者只是我看错了?下次再试试就知道了。
8. make O=/usr/src/kernels/linux-2.6.30.5 install
将新的内核写入 /boot/grub/grub.conf
9. make O=/usr/src/kernels/linux-2.6.30.5 clean
/usr/src/kernels/linux-2.6.30.5文件夹便只剩下8.9MB,
而且这个文件夹可以删掉了貌似。是否只需要有/boot目录下的那几个文件(system.map, vmlinuz, initrd)就可以了。why?