在分析之前,先要对其进行编译,如下:
1.disclean
2.make xxx.defconfig
3.make j12
4.make menuconfig
和uboot顶层makefile非常相似,虽然我看了好几遍也没看懂到底什么意思,这部分内容对于像我这样的初学者来说无异于天书一般。并且我也不知道为什么要分析这么复杂的内容。鉴于我本人一贯崇尚学以致用的原则,所以该部分内容暂时只掌握结论即可,后续如果有相关的应用再回头仔细琢磨。
我个人认为需要掌握的几个点如下:
1.本章节重点在于vmlinux的生成。
2.最终将vmlinux压缩成我们最常见的zImage或uImage等文件。
3.理清make的过程:重点是将各子目录下的built-in.o、.a等文件链接在一起,最终生成vmlinux这个ELF格式的可执行文件。链接脚本为arch/arm/kernel/vmlinux.lds。链接过程由shell脚本script/link-vmlinux.s完成。这几个文件我个人感觉不需要专门去记。因为英文的字面意思就是它本身的意思,看到就能明白文件的作用了。