第六章 文件系统定制
从project/image/configs/i2m/rootfs.mk中可以得知,最小文件系统由project/image/rootfs/rootfs.tar.gz 和 project/image/busybox/busybox-1.20.2-arm-linux-gnueabihf-glibc-8.2.1-dynamic.tar.gz构成。
# vi project/image/configs/i2m/rootfs.mk
BUSYBOX 来自 project/configs/nvr/i2m/8.2.1/spinand.glibc.011a.64
.PHONY: rootfs root app
rootfs:root app
root:
cd rootfs; tar xf rootfs.tar.gz -C $(OUTPUTDIR)
#tar xf busybox/$(BUSYBOX).tar.gz -C $(OUTPUTDIR)/rootfs
tar xf $(LIB_DIR_PATH)/package/$(LIBC).tar.gz -C $(OUTPUTDIR)/rootfs/lib
mkdir -p $(miservice$(RESOUCE))/lib
cp $(LIB_DIR_PATH)/mi_libs/dynamic/* $(miservice$(RESOUCE))/lib/
cp $(LIB_DIR_PATH)/ex_libs/dynamic/* $(miservice$(RESOUCE))/lib/
因此,我们可以通过定制project/image/rootfs/rootfs.tar.gz 和 project/image/busybox/busybox-1.20.2-arm-linux-gnueabihf-glibc-8.2.1-dynamic.tar.gz来定制文件系统。
在第二章中介绍了buildroot的编译,编译完成后,生成了output/images/rootfs.tar,执行以下命令重新打包:
# mkdir output/images/rootfs
# tar -xvf output/images/rootfs.tar -C output/images/rootfs
# cd output/images/
# tar -cvf rootfs.tar.gz rootfs
注意:请在与rootfs同级目录下,压缩rootfs,否则会导致编译出错
替换目标文件系统
# cp output/images/rootfs.tar.gz ../project/image/rootfs/rootfs.tar.gz -f
关闭busybox
由于使用 buildroot 编译出来的文件系统已经包含了 busybox,因此不再需要原来的 busybox:# vi project/image/configs/i2m/rootfs.mk
- 修改rootfs文件系统的读写权限
# vi /project/image/configs/i2m/spinand.ubifs.p2.partition.config
- 编译
./Release_to_customer.sh -f nand -p ssd201
文档更新时间: 2022-04-13 17:22 作者:Aeeditor