diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 3cc86bfb70..fbdd5ebf26 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -156,11 +156,27 @@ def LoadRecoveryFSTab(zip): p.mount_point = pieces[0] p.fs_type = pieces[1] p.device = pieces[2] - if len(pieces) == 4: - p.device2 = pieces[3] + p.length = 0 + options = None + if len(pieces) >= 4: + if pieces[3].startswith("/"): + p.device2 = pieces[3] + if len(pieces) >= 5: + options = pieces[4] + else: + p.device2 = None + options = pieces[3] else: p.device2 = None + if options: + options = options.split(",") + for i in options: + if i.startswith("length="): + p.length = int(i[7:]) + else: + print "%s: unknown option \"%s\"" % (p.mount_point, i) + d[p.mount_point] = p return d diff --git a/tools/releasetools/edify_generator.py b/tools/releasetools/edify_generator.py index 4ed1a076d1..893cb45514 100644 --- a/tools/releasetools/edify_generator.py +++ b/tools/releasetools/edify_generator.py @@ -172,11 +172,9 @@ class EdifyGenerator(object): fstab = self.info.get("fstab", None) if fstab: p = fstab[partition] - # 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)) + (p.fs_type, common.PARTITION_TYPES[p.fs_type], + p.device, p.length)) else: # older target-files without per-partition types partition = self.info.get("partition_path", "") + partition