5.4.4. 系统镜像¶
对于有镜像的分区,需要创建一个对应的镜像来烧录到该分区上, 该镜像的名字需要和 image_cfg.json 中的分区的名字一致,比如 user
分区,
本文介绍如何在编译时安装部分程序和数据到该分区的文件系统中,并且生成对应的文件系统镜像。
5.4.4.1. 镜像配置¶
SDK 目前支持用户最多生成三个不同的自定义文件系统镜像,需要在配置界面进行配置。
make menuconfig
根据需要勾选:
Filesystem images --->
[*] UserFS 1 --->
[ ] UserFS 2 --->
[ ] UserFS 3 --->
--- UserFS 1
(user) Name \\ 文件系统镜像名字,可修改,如 user
FS Type (UBIFS) ---> \\ 文件系统,支持Ext4、UBIFS、JFFS2、SQUASHFS,建议选择UFBIFS
(0x1000000) ubifs size(Should be aligned to MB) \\ Image的大小,需要和分区保持一致,单位为Byte
ubifs runtime compression (no compression) ---> \\ UBIFS 内部压缩算法
Compression method (no compression) ---> \\ Image 压缩方法
() Additional mkfs.ubifs options
() Overlay directory
注意
使用 JFFS2 文件系统时,需要 make kernel-menuconfig 失能 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS 配置
参数详细解释:
文件系统镜像名字:
Name
这里默认是
userfs1
,可根据实际情况修改,如 user文件系统类型: FS Type
如果是 EMMC, 则请选择 EXT4
如果是 NAND,则请选择 UBIFS
如果是 NOR,则可以选择 UBIFS、JFFS2、SQUASHFS
Image 大小: ubifs size
Image 的大小要小于等于分区的大小,不能超过
单位为 Byte, 默认 0x1 000 000 为 1M, 0x10 000 000 则为 16MB
设置时需要对齐为 MB
压缩算法
压缩算法的引进将减少 Image 的 Size,但读写速度变慢
UBIFS 内部压缩算法 和 Image 两中压缩算法设计
建议不进行压缩设置
5.4.4.2. 文件的安装¶
此处勾选了 UserFS 1
之后,编译时,SDK 会自动创建一个文件安装目录:
output/userfs/fs1.<fs_name>/
比如 fs_name = "User",则路径为:
output/userfs/fs1.User/
如果在编译 SDK 的组件包过程中,需要安装文件到该路面,可通过 Makefile 变量:
$(TARGET_USERFS1_DIR)
可得到该安装目录的路径。
小技巧
UserFS 2, UserFS 3 也是同样的配置。