参见AM335X UBIFS NandFlash Programming Guide v1.1.pdf
1,首先安装编译环境,这里我就不细说了,文档里有。
2,找到原厂包里的filesystem目录,看到tisdk-rootfs-am335x-evm.tar.gz
输入命令:mkdir rootfs(创建一个目录,用来存放解压的rootfs)
tar zxvf tisdk-rootfs-am335x-evm-tar-gz -C rootfs(解压文件系统)
3,按文档里执行:mkfs.ubifs -r rootfs/ -F -o ubifs.img -m 2048 -e 126976 -c 1580 悲了个催的,报了个错:Error:max_leb_cnt too low(2493 needed)这个是rootfs文件夹里有过大的文件造成的。这时发现filesystem目录还有一个包base-rootfs-am335x-evm.tar.gz,改用这个吧,EVM的文件大又多,我也用不上。重来1,2,3步OK
4,按文件说明制作ubinize.cfg,下面为内容:
[ubifs] <== Section header mode=ubi <== Volume mode (other option is static) image=ubifs.img <== Source image vol_id=0 <== Volume ID in UBI image vol_size=192MiB <== Volume size vol_type=dynamic <== Allow for dynamic resize vol_name=rootfs <== Volume name vol_flags=autoresize <== Autoresize volume at first mount
5,输入命令:ubinize -o ubi.img -m 2048 -p 128KiB -s 512 -O 2048 ubinize.cfg 这样就生成ubi.img了