except OSError as exc: # Guard against race condition
if exc.errno != errno.EEXIST:
raise
- command = "cd " + target_dir +" && " + unyaffstool + " -c 2 -s 64 -b " + binname + " && cd -"
+ # unyaffs 0.9.7 使用 -l 选项指定布局: layout=1 表示 2K chunk, 64 byte spare size
+ # 格式: unyaffs [-l <layout>] [-t] [-v] [-V] <image_file_name> [<base dir>]
+ # 由于已经 cd 到 target_dir,base dir 可以省略(默认解压到当前目录)
+ command = "cd " + target_dir +" && " + unyaffstool + " " + binname + " && cd -"
os.system(command)
os.remove(binname)
except OSError as exc: # Guard against race condition
if exc.errno != errno.EEXIST:
raise
- command = "cd " + target_dir +" && " + unyaffstool + " -c 2 -s 64 -b " + binname + " && cd -"
+ # unyaffs 0.9.7 使用 -l 选项指定布局: layout=1 表示 2K chunk, 64 byte spare size
+ # 格式: unyaffs [-l <layout>] [-t] [-v] [-V] <image_file_name> [<base dir>]
+ # 由于已经 cd 到 target_dir,base dir 可以省略(默认解压到当前目录)
+ command = "cd " + target_dir +" && " + unyaffstool + " " + binname + " && cd -"
os.system(command)
os.remove(binname)
注意:
- 新版本 mkyaffs2image:支持 summary chunks
-- 旧版本 mkyaffs2image_old:不支持 summary chunks
+- 旧版本 mkyaffs2image.old:不支持 summary chunks
- unyaffs 应该能够自动检测并兼容两个版本的镜像格式
- 脚本会尝试多种 pagesize 和 ecctype 组合
"""
os.chdir(script_dir)
# 检查工具
- mkyaffs2image_new = script_dir / "mkyaffs2image" / "mkyaffs2image"
- mkyaffs2image_old = script_dir / "mkyaffs2image" / "mkyaffs2image_old"
+ mkyaffs2image_new = script_dir / "mkyaffs2image"
+ mkyaffs2image_old = script_dir / "mkyaffs2image.old"
unyaffs = script_dir / "unyaffs"
res_dir = script_dir / "res"