Teach the build system to reserve the last 16 Kbytes of /data for the crypto footer
If making /data and it's an EMMC interface, reserve the last 16 Kbytes
of the partition for the crypto footer.
Change-Id: Ia2c0bb53a545f074e79fc9d6ac04faee75fb9be4
diff --git a/tools/releasetools/edify_generator.py b/tools/releasetools/edify_generator.py
index a1eea1f..7511465 100644
--- a/tools/releasetools/edify_generator.py
+++ b/tools/releasetools/edify_generator.py
@@ -168,17 +168,21 @@
"""Format the given partition, specified by its mount point (eg,
"/system")."""
+ reserve_size = 0
fstab = self.info.get("fstab", None)
if fstab:
p = fstab[partition]
- self.script.append('format("%s", "%s", "%s");' %
- (p.fs_type, common.PARTITION_TYPES[p.fs_type], p.device))
+ # Reserve the last 16 Kbytes of an EMMC /data for the crypto footer
+ if partition == "/data" and common.PARTITION_TYPES[p.fs_type] == "EMMC":
+ reserve_size = -16384
+ self.script.append('format("%s", "%s", "%s", "%s");' %
+ (p.fs_type, common.PARTITION_TYPES[p.fs_type], p.device, reserve_size)
else:
# older target-files without per-partition types
partition = self.info.get("partition_path", "") + partition
- self.script.append('format("%s", "%s", "%s");' %
+ self.script.append('format("%s", "%s", "%s", "%s");' %
(self.info["fs_type"], self.info["partition_type"],
- partition))
+ partition, reserve_size))
def DeleteFiles(self, file_list):
"""Delete all files in file_list."""