Support a first stage ramdisk via TARGET_RAMDISK_OUT
Support a first stage ramdisk which will include the targets placed into TARGET_RAMDISK_OUT. This replaces the existing ramdisk on existing devices. All system images are now built to be mounted as the root dir. Devices with a first stage ramdisk will switch root to the system partition. BOARD_BUILD_SYSTEM_ROOT_IMAGE remains and is used to specify if the system partition is going to be directly used as rootfs without the ramdisk. Bug: 79173823 Bug: 79758715 Test: hikey boots, sailfish boots Test: OTA walleye from P to master Change-Id: Idbb2dccc6340b0235a4bef03e11e420a9ed154b6
This commit is contained in:
@@ -428,9 +428,8 @@ def ConvertBlockMapToBaseFs(block_map_file):
|
||||
def SetUpInDirAndFsConfig(origin_in, prop_dict):
|
||||
"""Returns the in_dir and fs_config that should be used for image building.
|
||||
|
||||
If the target uses system_root_image and it's building system.img, it creates
|
||||
and returns a staged dir that combines the contents of /system (i.e. in the
|
||||
given in_dir) and root.
|
||||
When building system.img for all targets, it creates and returns a staged dir
|
||||
that combines the contents of /system (i.e. in the given in_dir) and root.
|
||||
|
||||
Args:
|
||||
origin_in: Path to the input directory.
|
||||
@@ -441,8 +440,12 @@ def SetUpInDirAndFsConfig(origin_in, prop_dict):
|
||||
A tuple of in_dir and fs_config that should be used to build the image.
|
||||
"""
|
||||
fs_config = prop_dict.get("fs_config")
|
||||
if (prop_dict.get("system_root_image") != "true" or
|
||||
prop_dict["mount_point"] != "system"):
|
||||
|
||||
if prop_dict["mount_point"] == "system_other":
|
||||
prop_dict["mount_point"] = "system"
|
||||
return origin_in, fs_config
|
||||
|
||||
if prop_dict["mount_point"] != "system":
|
||||
return origin_in, fs_config
|
||||
|
||||
# Construct a staging directory of the root file system.
|
||||
@@ -516,9 +519,6 @@ def CheckHeadroom(ext4fs_output, prop_dict):
|
||||
def BuildImage(in_dir, prop_dict, out_file, target_out=None):
|
||||
"""Builds an image for the files under in_dir and writes it to out_file.
|
||||
|
||||
When using system_root_image, it will additionally look for the files under
|
||||
root (specified by 'root_dir') and builds an image that contains both sources.
|
||||
|
||||
Args:
|
||||
in_dir: Path to input directory.
|
||||
prop_dict: A property dict that contains info like partition size. Values
|
||||
@@ -838,7 +838,6 @@ def ImagePropFromGlobalDict(glob_dict, mount_point):
|
||||
elif mount_point == "system_other":
|
||||
# We inherit the selinux policies of /system since we contain some of its
|
||||
# files.
|
||||
d["mount_point"] = "system"
|
||||
copy_prop("avb_system_hashtree_enable", "avb_hashtree_enable")
|
||||
copy_prop("avb_system_add_hashtree_footer_args",
|
||||
"avb_add_hashtree_footer_args")
|
||||
|
Reference in New Issue
Block a user