ANDROID: build: Replace the combine vms rule with getter
Combine vms rule isn't needed anymore, replace it with getter to support combine vms only if such rules are available. Change-Id: Ib64caa177c7ac43b3b1376e5923db47f1adeabf9 Signed-off-by: Vamsi Krishna Lanka <quic_vamslank@quicinc.com>
This commit is contained in:
parent
15261b4cd5
commit
c35e636e07
@ -21,6 +21,9 @@ def define_top_level_rules():
|
|||||||
flag_values = {":skip_{}".format(skippable): "0"}
|
flag_values = {":skip_{}".format(skippable): "0"}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def define_combined_vm_image(target, variant, vm_size_ext4):
|
||||||
|
return
|
||||||
|
|
||||||
def define_extras(target, flavor = None):
|
def define_extras(target, flavor = None):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1,67 +1,17 @@
|
|||||||
load(":target_variants.bzl", "vm_types", "vm_variants")
|
load(":target_variants.bzl", "vm_types", "vm_variants")
|
||||||
load("//msm-kernel:msm_common.bzl", "get_out_dir")
|
load("//msm-kernel:msm_common.bzl", "get_out_dir")
|
||||||
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
|
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
|
||||||
|
load("//build:msm_kernel_extensions.bzl", "define_combined_vm_image")
|
||||||
load(":image_opts.bzl", "vm_image_opts")
|
load(":image_opts.bzl", "vm_image_opts")
|
||||||
|
|
||||||
target_name = "pineapple-vms"
|
target_name = "pineapple-vms"
|
||||||
|
|
||||||
def create_combined_vm_image(image_list, variant, vm_size_ext4):
|
|
||||||
out_files = [
|
|
||||||
"{}_{}/vm-bootsys.img".format(target_name, variant),
|
|
||||||
"{}_{}/vm-bootsys_unsparsed.img".format(target_name, variant),
|
|
||||||
"{}_{}/vm-images".format(target_name, variant),
|
|
||||||
]
|
|
||||||
|
|
||||||
merge_images = "\nimage_dist=\"{}\"\n".format(" ".join(["$(location {})".format(l) for l in image_list]))
|
|
||||||
merge_images += "vm_image_out_path=\"$(location {})\"\n".format(out_files[0])
|
|
||||||
merge_images += "vm_image_unsparsed_out_path=\"$(location {})\"\n".format(out_files[1])
|
|
||||||
merge_images += "vm_images_out_path=\"$(location {})\"\n".format(out_files[2])
|
|
||||||
merge_images += """
|
|
||||||
mkdir -p scratch
|
|
||||||
for dist in $$image_dist; do
|
|
||||||
# Unpack everything from tuivm
|
|
||||||
if echo $$dist | grep -q "tuivm"; then
|
|
||||||
tar -C scratch/ -xf "$$dist"
|
|
||||||
# Only unpack boot for all other VMs
|
|
||||||
else
|
|
||||||
tar -C scratch/ --wildcards -xf "$$dist" "./vm-images/*/boot"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Remove existing vm-bootsys images
|
|
||||||
rm -f scratch/*.img
|
|
||||||
|
|
||||||
# Create non-sparse vm-bootsys.img
|
|
||||||
$(location //prebuilts/kernel-build-tools:linux-x86/bin/mkuserimg_mke2fs) \
|
|
||||||
"scratch/vm-images" "$$vm_image_unsparsed_out_path" ext4 / {vm_size_ext4}
|
|
||||||
|
|
||||||
# Create sparse vm-bootsys.img
|
|
||||||
$(location //prebuilts/kernel-build-tools:linux-x86/bin/img2simg) \
|
|
||||||
"$$vm_image_unsparsed_out_path" "$$vm_image_out_path"
|
|
||||||
|
|
||||||
cp -r "scratch/vm-images" "$$vm_images_out_path"
|
|
||||||
""".format(vm_size_ext4=vm_size_ext4)
|
|
||||||
|
|
||||||
native.genrule(
|
|
||||||
name = "{}_{}_combo".format(target_name, variant),
|
|
||||||
srcs = image_list,
|
|
||||||
outs = out_files,
|
|
||||||
tools = [
|
|
||||||
"//prebuilts/kernel-build-tools:linux-x86/bin/mkuserimg_mke2fs",
|
|
||||||
"//prebuilts/kernel-build-tools:linux-x86/bin/img2simg",
|
|
||||||
],
|
|
||||||
cmd_bash = merge_images,
|
|
||||||
)
|
|
||||||
|
|
||||||
def define_pineapple_vms(vm_image_opts = vm_image_opts()):
|
def define_pineapple_vms(vm_image_opts = vm_image_opts()):
|
||||||
base_target = "pineapple-tuivm"
|
base_target = "pineapple-tuivm"
|
||||||
for variant in vm_variants:
|
for variant in vm_variants:
|
||||||
base_tv = "{}_{}".format(base_target, variant)
|
base_tv = "{}_{}".format(base_target, variant)
|
||||||
image_list = [":pineapple-{}_{}_vm_images".format(vt, variant) for vt in vm_types]
|
|
||||||
create_combined_vm_image(image_list, variant, vm_image_opts.vm_size_ext4)
|
|
||||||
|
|
||||||
out_dtb_list = [":pineapple-{}_{}_vm_dtb_img".format(vt, variant) for vt in vm_types]
|
out_dtb_list = [":pineapple-{}_{}_vm_dtb_img".format(vt, variant) for vt in vm_types]
|
||||||
|
|
||||||
dist_targets = [
|
dist_targets = [
|
||||||
# do not sort
|
# do not sort
|
||||||
":{}".format(base_tv),
|
":{}".format(base_tv),
|
||||||
@ -70,7 +20,6 @@ def define_pineapple_vms(vm_image_opts = vm_image_opts()):
|
|||||||
":{}_build_config".format(base_tv),
|
":{}_build_config".format(base_tv),
|
||||||
":signing_key",
|
":signing_key",
|
||||||
":verity_key",
|
":verity_key",
|
||||||
"{}_{}_combo".format(target_name, variant),
|
|
||||||
] + out_dtb_list
|
] + out_dtb_list
|
||||||
|
|
||||||
copy_to_dist_dir(
|
copy_to_dist_dir(
|
||||||
@ -90,3 +39,5 @@ def define_pineapple_vms(vm_image_opts = vm_image_opts()):
|
|||||||
"**/*": "644",
|
"**/*": "644",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
define_combined_vm_image(target_name, variant, vm_image_opts.vm_size_ext4)
|
||||||
|
Loading…
Reference in New Issue
Block a user