From 560d535cffcb38d475ba6af6ac516e61ba8fec56 Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Thu, 17 Feb 2011 15:54:20 -0800 Subject: [PATCH] read partition length from recovery.fstab Don't hardcode magical partition behavior in the script generator. Change-Id: I4aeea022f8a32a7c9f316be2c2514510344ca0e0 --- tools/releasetools/common.py | 20 ++++++++++++++++++-- tools/releasetools/edify_generator.py | 6 ++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 3cc86bfb7..fbdd5ebf2 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 4ed1a076d..893cb4551 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 -- 2.11.0