按照技术支持的推荐,使用ramfs文件系统。那么就可以在uboot的nuc970_evb.h中将JEFS yaffs ubi 的相关支持去掉就可以了。这样理应能减少很大部分的uboot大小。剩下就是配置内核中的ramfs配置。
General setup ---> [ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support(../rootfs)intramfs source file(s)
ramfs文件系统是将kernel跟rootfs进行了打包,通过make/make uImage生成内核影像文档,后经过mkimage工具再将970image文件压缩成为970image.ub文件:u-boot/tools# ./mkimage -A arm -O linux -T kernel -a 0x7fc0 -e 0x8000 -d 970image 970image.ub 可以看到该命令让970image.ub具有了下载位置信息和执行位置信息。
想必叨叨到现在,大家已经懵逼了。 make image 跟make uImage 还有这个突如其来的mkimage工具都是什么关系。make 命令只会生成image文件,如果在这个文件上手动调用mkimage工具就能生成uImage文件。在编译内核的时候如果输入的是make uImage那么会从makefile。boot文件中找到uImage生成过程中的相关参数。这个具体情况可以查看根据 m从makefile.boot中传入生成uImage的相关参数