一、制作工具源码包:mtd-utils-1.5.0
1.1 确认Makefile
1.2 编译:
make -j4
1.3 得到应用程序
ubi-utils/ubiattach
ubi-utils/ubinize
二、制作文件系统镜像
2.1 准备文件系统
比如一个app,目录结构为
app
┣exec
┣doc
┗config
2.2 制作镜像
~/mtd-utils-1.5.0/mkfs.ubifs/mkfs.ubifs -r app/ -m 2048 -e 126976 -c 992 -o ubifs.img
参数:
-r 源码树路径
-m NAND页大小
-e NAND块大小
-c 最大逻辑块数(分区大小/块大小)
2.3 将UBIFS文件系统镜像转换成可直接在FLASH上烧写的格式(带有UBI文件系统镜像卷标)
~/mtd-utils-1.5.0/ubi-utils/ubinize -o app.ubifs -m 2048 -p 128KiB-s 512 -O 2048 ubi.config
参数:
-o 输出文件
-m NAND页大小
-p NAND块大小
ubi.conf是配置文件:
[ubifs]
mode=ubi
image=./ubifs.img
vol_id=0
vol_type=dynamic
vol_name=dc-rootfs
vol_flags=autoresize
三、烧录
3.1 内核启动后、文件系统中烧录方法:
3.1.1 下载或拷贝到文件系统中
tftp -g -r app.ubifs 电脑IP
3.1.2 烧录镜像(比如 要烧写的分区为mtd7)
ubiformat /dev/mtd7 -f app.ubifs
效果图:
3.1.3 关联ubi设备
ubiattach /dev/ubi_ctrl -m 7
效果图:
3.1.4 挂载分区
mount -t ubifs ubi0_0 /mnt/nfs02/
效果图:
3.1.5 挂载效果
~# mount
ubi0_0 on /mnt/nfs02 type ubifs (rw,relatime)
3.2 uboot烧录方法
未完待续