Build cache.img on demand
Bug: 5153694
To build cache.img, set BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE (required,
ext4 only for now), BOARD_CACHEIMAGE_PARTITION_SIZE (optional) in
BoardConfig.mk.
Change-Id: I1d8b91646aa1dba88285e008ad3335768bcbddd2
diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py
index b5140a9..15acddc 100755
--- a/tools/releasetools/build_image.py
+++ b/tools/releasetools/build_image.py
@@ -67,22 +67,28 @@
mount_point: such as "system", "data" etc.
"""
d = {}
+
+ def copy_prop(src_p, dest_p):
+ if src_p in glob_dict:
+ d[dest_p] = str(glob_dict[src_p])
+
common_props = (
- "fs_type",
"extfs_sparse_flag",
"mkyaffs2_extra_flags",
)
for p in common_props:
- if p in glob_dict:
- d[p] = glob_dict[p]
+ copy_prop(p, p)
d["mount_point"] = mount_point
if mount_point == "system":
- if "system_size" in glob_dict:
- d["partition_size"] = str(glob_dict["system_size"])
+ copy_prop("fs_type", "fs_type")
+ copy_prop("system_size", "partition_size")
elif mount_point == "data":
- if "userdata_size" in glob_dict:
- d["partition_size"] = str(glob_dict["userdata_size"])
+ copy_prop("fs_type", "fs_type")
+ copy_prop("userdata_size", "partition_size")
+ elif mount_point == "cache":
+ copy_prop("cache_fs_type", "fs_type")
+ copy_prop("cache_size", "partition_size")
return d
@@ -117,6 +123,11 @@
mount_point = "system"
elif image_filename == "userdata.img":
mount_point = "data"
+ elif image_filename == "cache.img":
+ mount_point = "cache"
+ else:
+ print >> sys.stderr, "error: unknown image file name ", image_filename
+ exit(1)
image_properties = ImagePropFromGlobalDict(glob_dict, mount_point)
if not BuildImage(in_dir, image_properties, out_file):