昨天打包了一个ubi根文件系统,打包成功,写板子flash成功,但系统运行后还是老的文件系统,具体过程如下:
使用脚本1,打包rootfs系统:
打包后的文件系统,下载到板子后,查看version-info,发现还是老版本,难道是打包失败了?
使用脚本2,打包rootfs系统
如上,打包后的文件系统更新就正常了,查看版本:
那问题就是脚本1有问难了,对比脚本1和脚本2,
查看脚本2打包过程:
对比使用脚本2,命令:mkubifs_forA8Img_kong.sh 4,前后两次生成的ubinizeImg.cfg文件,结果是一样的:
[ubifs]
mode=ubi
image=ubiImg.img
vol_id=0
vol_size=55MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
对比两个批处理的执行过程:
脚本1:
脚本2:
//问题是如上的ubinizeImg.cfg文件,配置使用的
而mkubifs_liming.sh生成的是
所以以前使用mkubifs_liming.sh打包文件系统,实际还是打包老的文件系统,故而还是老的。修改下mkubifs_liming.sh,重新打包后,生成的新文件系统就可以了。
总结:
打包ubi文件系统的批处理命令,需要仔细核对配置参数,包括脚本名字,大小等参数,任何一个失败都可能导致异常情况。