From e6853b0d63b5ee29a4d5f25d09cd0683b5a90b8c Mon Sep 17 00:00:00 2001 From: Daniel Rosenberg Date: Fri, 5 Jun 2015 17:59:27 -0700 Subject: [PATCH] Add support for system images that contain the root directory When the root directory is included in system, the assumption that system is mounted at /system breaks down. Redirect /system to / in that case. Change-Id: I8031b32d7cb9ca699c1cc22939e28afce9d1c847 --- tools/releasetools/common.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 5fcdbe49eb..91121089fa 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -202,7 +202,7 @@ def LoadInfoDict(input_file, input_dir=None): makeint("boot_size") makeint("fstab_version") - d["fstab"] = LoadRecoveryFSTab(read_helper, d["fstab_version"]) + d["fstab"] = LoadRecoveryFSTab(read_helper, d["fstab_version"], d.get("system_root_image", False)) d["build.prop"] = LoadBuildProp(read_helper) return d @@ -225,7 +225,7 @@ def LoadDictionaryFromLines(lines): d[name] = value return d -def LoadRecoveryFSTab(read_helper, fstab_version): +def LoadRecoveryFSTab(read_helper, fstab_version, system_root_image=False): class Partition(object): def __init__(self, mount_point, fs_type, device, length, device2, context): self.mount_point = mount_point @@ -317,6 +317,11 @@ def LoadRecoveryFSTab(read_helper, fstab_version): else: raise ValueError("Unknown fstab_version: \"%d\"" % (fstab_version,)) + # / is used for the system mount point when the root directory is included in + # system. Other areas assume system is always at "/system" so point /system at / + if system_root_image: + assert not d.has_key("/system") and d.has_key("/") + d["/system"] = d["/"] return d