真是弹指一挥间,从最初的在S3C2440上构建分析u-boot,linux到现在已经7,8年了。记得当初使用的还是阳出的
S3C2440开发板,使用的内核还是2.4。那时可查的网络资料也比较少,记得当时苦于u-boot的make过程,一直没能搞清楚其make机理。后来,由于工作原因,此项学习,几次重拾,又几次放弃。2017年下夏,终于下定决心要彻底弄明白linux系统的构建原理。现将此学习分析过程的笔记整理出来。特别地,参考了
http://www.juliantec.info/julblog/yihect/linux-kernel-build-system-3
可惜这个网页已经404。
总揽
1.总体框架
2.配置kconfig: Make nitrogen6x_defconfig
3.vmlinux构建---kbuild ----make uImage
3.1 最终.c到.o
3.2 .cmd文件产生
3.3 链接
3.4 子目录递归
3.5 vmlinux-->boot--->zImage--->uImage
4.modules ----make modules
5.dtbs