ubuntu10.04默认没有mkfs.ubifs
首先安装mkfs.ubifs相关的工具
$sudo apt-get install mtd-utils
解压TI提供的文件系统arago-base-tisdk-image-am335x-evm.tar.gz
$mkdir rootfs
$tar -xf arago-base-tisdk-image-am335x-evm.tar.gz -C rootfs
制作UBIFS文件系统:
$ sudo mkfs.ubifs -r rootfs -m 2048 -e 126976 -c 992 -o am335xubifs.img
-r rootfs :指定制作UBIFS文件系统的源文件目录
-m 2048:指定最小I/O操作的大小为2048字节
-e 126976:指定逻辑擦除块的大小
-c 992:指定最大逻辑除块的数目
将am335xubifs.img制作成可以直接在NAND FLASH上烧写的文件系统,带有UBI文件系统的卷标
$sudo ubinize -o am335xubi.img -m 2048 -p 128KiB -s 512 -O 2048 ubinize.cfg
ubinize.cfg是ubinize命令的一个配置文件:
[ubifs]
mode=ubi
image=am335xubifs.img //用mkfs.ubifs工具制作出来的ubifs镜像
vol_id=0
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
之后就可以将am335xubi.img在U-BOOT中通过产TFTP或SD卡下载到SDRAM中
$fatload mmc 0 0x82000000 am335xubi.img
$nand write 0x82000000 NAND.rootfs $filesize
将上述命令写成一个小脚本f.sh
#! /bin/sh
echo "make director rootfs to am335xubifs.img..."
sudo mkfs.ubifs -r rootfs -m 2048 -e 126976 -c 992 -o am335xubifs.img
echo "am335xubifs.img done."
#使用ubinize可以将mkfs.ubifs命令制作出来的UBIFS 文件系统镜像直接在FLASH上烧写的格式
#(带有UBI文件系统镜像卷标)
#能过此命令生成的am335xubi.img可直接烧写到NAND FLASH上。
echo "make am335xubifs.img to am335xubi.img..."
sudo ubinize -o am335xubi.img -m 2048 -p 128KiB -s 512 -O 2048 ubinize.cfg
echo "am335xubi.img done."