文件系统镜像制作
Luban-Lite SDK 在编译的最后阶段会自动制作所需要的文件系统镜像,但在一些应用场景中, 开发者想要独立制作文件系统镜像,本文介绍如何通过工具单独制作 Luban-Lite SDK 支持的文件系统镜像。
FATFS 镜像制作
制作步骤
步骤1:准备环境
1.确保编译主机上已经安装 Python3 2.cd 到 Luban-Lite SDK 的根目录
步骤2:准备要打包的文件夹
将需要打包的文件/文件夹,放到一个独立的文件夹内,如 fatfs_root/
如 Linux 下的:
~/fatfs_root/
Windows 下的:
D:\fatfs_root\
步骤2:执行命令
场景1:根据资源文件大小制作镜像
- 只读文件系统
- 最小占用磁盘空间
可以根据资源文件实际需要的空间制作文件系统镜像。cd 到 SDK 根目录,执行:
Linux:
python3 ./tools/scripts/makefatfs.py --auto --cluster 8 --sector 512 --tooldir ./tools/scripts/ --inputdir ~/fatfs_root/ --outfile mytest.fatfs
2
Windows:
python tools\scripts\makefatfs.py --auto --cluster 8 --sector 512 --tooldir tools\scripts\ --inputdir D:\fatfs_root\ --outfile mytest.fatfs
2
场景2:制作指定大小的文件系统镜像
这种场景类似给指定大小的磁盘做格式化,并且复制填充资源文件,如制作一个 100 MB 的 FATFS 镜像:
Linux:
python3 ./tools/scripts/makefatfs.py --raw --imgsize 104857600 --cluster 8 --sector 512 --tooldir ./tools/scripts/ --inputdir ~/fatfs_root/ --outfile mytest.fatfs
2
Windows:
python tools\scripts\makefatfs.py --raw --imgsize 104857600 --cluster 8 --sector 512 --tooldir tools\scripts\ --inputdir D:\fatfs_root\ --outfile mytest.fatfs
2
由于设置了 imgsize
为 100 MB,因此生成的镜像文件大小为 100 MB,可以将该镜像文件烧录到 100 MB 的磁盘分区。
对于实际资源大小不足 100 MB 的场景,工具自动在镜像文件后面填充0。如果不想填充,可以将命令参数中的 --raw
去掉,此时生成的镜像文件仅保留必要数据部分。
Linux:
python3 ./tools/scripts/makefatfs.py --imgsize 104857600 --cluster 8 --sector 512 --tooldir ./tools/scripts/ --inputdir ~/fatfs_root/ --outfile mytest.fatfs
2
Windows:
python tools\scripts\makefatfs.py --imgsize 104857600 --cluster 8 --sector 512 --tooldir tools\scripts\ --inputdir D:\fatfs_root\ --outfile mytest.fatfs
2
格式说明
通过上述命令生成的 FATFS 镜像,具体格式与镜像大小有关。
文件系统 | 镜像大小 | 说明 |
---|---|---|
FAT12 | Size <= 16 MB | 生成 FAT12 文件系统镜像 |
FAT16 | 16 MB < Size <= 256 MB | 生成 FAT16 文件系统镜像 |
FAT32 | 256 MB < Size | 生成 FAT32 文件系统镜像 |
LittleFS 镜像制作
制作步骤
步骤1:准备环境
1.确保编译主机上已经安装 Python3
2.cd 到 Luban-Lite SDK 的 tools/scripts/
准备要打包的文件夹
将需要打包的文件/文件夹,放到一个独立的文件夹内,如 littlefs_root/
如 Linux 下的:
~/littlefs_root/
Windows 下的:
D:\littlefs_root\
步骤2:执行命令
cd 到 SDK 根目录,执行:
Linux:
python3 ./tools/scripts/makelittlefs.py --imgsize 10485760 --pagesize 256 --blocksize 4096 --tooldir ./tools/scripts/ --inputdir ~/littlefs_root/ --outfile mytest.lfs
2
Windows:
python tools\scripts\makelittlefs.py --imgsize 10485760 --pagesize 256 --blocksize 4096 --tooldir tools\scripts\ --inputdir ~\littlefs_root\ --outfile mytest.lfs
2
上面的示例制作一个 10 MB 的 LittleFS 镜像文件。