参数说明:
-o root.bin:生成的根文件系统烧录镜像文件(名称可自定义,但用SD卡自动烧录时u-boot默认 文件名为root.bin)
-m 2048: 页面大小,由Nandflash属性决定(evb335x使用的nangdflash为K9F2G08,其页面大小 为2048B,2KB);
-p 128KiB:物理擦除块大小,由Nandflash属性决定(K9F2G08每个block大小为128KB);
-s 512: sub-page大小,由Nandflash属性决定(K9F2G08每个page包含4个sub-page,每个
sub-page为512B);
-O 2048: 存放VID header的起始位置,(每个block第0个page存放EC header,第1个page
存放VIDheader,每个page大小为2048B,因此VID header的起始位置为2048)。
单步制作UBIFS根文件系统
a、进入根文件系统目录
$ cd rootfs_qt
b、生成ubifs镜像
$ mkfs.ubifs -F-r rootfs -m 2048 -e 126976 -c 2047 -o ubifs_256.img
注:若使用脚本(例如,build_256)生成ubifs镜像,脚本必须具有可执行权限,或使用bash执行。
c、建立ubinize.cfg文件,文件内容如下:
[ubifs]
mode=ubi
image=ubifs_256.img //上一步生成的根文件系统镜像
vol_id=0
vol_size=200MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
(注ubifs_256.img和ubinize_256.cfg须放到同一文件夹下)
c、生成烧录镜像
$ ubinize -o rootfs_256.ubi -m 2048 -p128KiB -s 512 -O 2048 ubinize_256.cfg
制作JFFS2根文件系统 QSPI Nor Flash的容量小,且其特性更适合使用jffs2格式的文件系统,因此采用jffs2。下面jffs2介绍jffs2根文件系统的制作方法。mkfs.jffs2工具可自行移植或使用光盘提供的。
a、解压根文件系统源文件
$ tar -jxvf rootfs_mini_qspi.tar.bz2
b、生成根文件系统镜像
$ mkfs.jffs2 -s 0x1000 -e 0x10000 -p 0x1600000 -d rootfs_mini_qspi/ -n-l -o rootfs.jffs2
执行以上指令后,在当前目录生成 rootfs.jffs2 ,至此jffs2镜像制作完毕。
mkfs.jffs2参数说明:
-s 0x1000 页大小,由Nor Flash属性决定(N25Q256A的每个pagesize为4KB,-s参数的默认值为4KB)
-e 0x10000 擦除块大小,由Nor Flash属性决定(N25Q256A的eraseblock大小为64KB)
-p 0x1600000 指定jffs2文件的大小,若目标文件大小小于指定值,则以0xFF填充。若不指定目标文件大小,则用0xFF填充所有的擦除块。
-d rootfs_mini_qspi/指定制作jffs2根文件系统的目录
-n 清除标识
-l 存储模式(字节顺序),此处为小端模式(little-endian)。若不指定存储模式,则与制作jjffs2的主机相同。
-o rootfs.jffs2 生成镜像的文件名
制作jffs2根文件系统的指令在光盘资料有对应的脚本,执行脚本能更快速地生产目标文件。同时,您可以根据自身需求更改脚本。
关注公众号,获取更多技术资料!!!
`