gen_rootfs 制作rootfs最小系统
使用gen_rootfs + busybox + toolchains可以制作最小系统
各要件下载地址如下:
busybox git://busybox.net/busybox.git
本人使用版本是 commit dbf5a6da6a4295ce26edd1ce34fde567d19afa02
gen_rootfs https://github.com/linaro-swg/gen_rootfs.git
本人使用版本是 commit d5429c154fb81fdae75886d505c385b2f0bb7153
编译器的地址可以查看本人另一篇https://blog.csdn.net/yiyezhiqiuck/article/details/108254748
gen_rootfs 目录负责制作rootfs
使用generate-cpio-rootfs.sh
该脚本基本流程如下:
– 编译busybox到build目录,最终就是生成一个文件busybox
– 安装busybox, make O=${BUILDDIR} install
将生成一个…/stage目录,同时创建/sbin /bin /usr/bin下面的大量链接
– 从toolchains目录拷贝libc等so到stage目录 这个lib目录一起拷贝,并创建etc目录
,生成一些脚本
– 根据stage里面的文件类型属性,生成filelist.txt
– 使用linux 源码里面有的x86工具gen_init_cpio filelist-final.txt > ${OUTFILE}
OUTFILE 就是rootfs.cpio
综上就是gen_rootfs + busybox + tool