diff options
author | Doug Zongker <dougz@android.com> | 2011-02-17 15:54:20 -0800 |
---|---|---|
committer | Ed Heyl <ed@google.com> | 2011-02-24 18:39:27 -0800 |
commit | 9df922a077a6bb45b742f5e2ac668a537999e604 (patch) | |
tree | f604e2f8429d6e8b3e34945f4fd0fbb5bb280442 /tools | |
parent | 287987db4f47a770f9e48375c02fdb3369190f14 (diff) | |
download | build-9df922a077a6bb45b742f5e2ac668a537999e604.zip build-9df922a077a6bb45b742f5e2ac668a537999e604.tar.gz build-9df922a077a6bb45b742f5e2ac668a537999e604.tar.bz2 |
read partition length from recovery.fstab
Don't hardcode magical partition behavior in the script generator.
Change-Id: I4aeea022f8a32a7c9f316be2c2514510344ca0e0
Diffstat (limited to 'tools')
-rw-r--r-- | tools/releasetools/common.py | 20 | ||||
-rw-r--r-- | 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 3cc86bf..fbdd5eb 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 4ed1a07..893cb45 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 |