summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDoug Zongker <dougz@android.com>2011-02-17 15:54:20 -0800
committerEd Heyl <ed@google.com>2011-02-24 18:39:27 -0800
commit9df922a077a6bb45b742f5e2ac668a537999e604 (patch)
treef604e2f8429d6e8b3e34945f4fd0fbb5bb280442 /tools
parent287987db4f47a770f9e48375c02fdb3369190f14 (diff)
downloadbuild-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.py20
-rw-r--r--tools/releasetools/edify_generator.py6
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