【LINUX内核】LINUX内核编译

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?

原文地址:https://www.cnblogs.com/funway/p/1978662.html