Merge "ANDROID: build: Pass variant-specific kernel cmdline params to vendor"

This commit is contained in:
qctecmdr 2023-06-08 11:29:40 -07:00 committed by Gerrit - the friendly Code Review server
commit 9dc9862046
4 changed files with 37 additions and 8 deletions

View File

@ -19,7 +19,7 @@ def sign_boot_img(ctx):
command = """
cp {boot_img} {boot_dir}/{boot_name}
{tool} add_hash_footer --image {boot_dir}/{boot_name} --algorithm SHA256_RSA4096 \
--key {key} --partition_size 100663296 --partition_name boot \
--key {key} --partition_size {boot_partition_size} --partition_name boot \
{proplist}
""".format(
boot_img = boot_img.path,
@ -27,6 +27,7 @@ def sign_boot_img(ctx):
key = ctx.file.key.path,
boot_dir = outputs.dirname,
boot_name = outputs.basename,
boot_partition_size = ctx.attr.boot_partition_size,
proplist = proplist,
)
@ -60,6 +61,11 @@ avb_sign_boot_image = rule(
mandatory = True,
allow_single_file = True,
),
"boot_partition_size": attr.int(
mandatory = False,
default = 0x6000000, # bytes, = 98304 kb
doc = "Final size of boot.img desired",
),
"props": attr.string_list(
mandatory = True,
allow_empty = False,

View File

@ -3,17 +3,21 @@ def boot_image_opts(
base_address = 0x80000000,
page_size = 4096,
super_image_size = 0x10000000,
boot_partition_size = 0x6000000,
lz4_ramdisk = True,
earlycon_addr = "0x00a9C000",
kernel_vendor_cmdline_extras = ["bootconfig"]):
kernel_vendor_cmdline_extras = ["bootconfig"],
board_kernel_cmdline_extras = []):
return struct(
boot_image_header_version = boot_image_header_version,
base_address = base_address,
page_size = page_size,
super_image_size = super_image_size,
boot_partition_size = boot_partition_size,
lz4_ramdisk = lz4_ramdisk,
earlycon_addr = earlycon_addr,
kernel_vendor_cmdline_extras = kernel_vendor_cmdline_extras,
board_kernel_cmdline_extras = board_kernel_cmdline_extras,
)
def vm_image_opts(

View File

@ -111,6 +111,14 @@ EOF
],
)
native.genrule(
name = "{}_extra_cmdline".format(target),
outs = ["board_extra_cmdline_{}".format(target)],
cmd_bash = """
echo {} > "$@"
""".format(" ".join(boot_image_opts.board_kernel_cmdline_extras)),
)
def _define_kernel_build(
target,
base_kernel,
@ -194,6 +202,7 @@ def _define_image_build(
build_vendor_kernel_boot = False,
build_vendor_dlkm = True,
build_system_dlkm = False,
boot_image_opts = boot_image_opts(),
boot_image_outs = None,
dtbo_list = [],
vendor_ramdisk_binaries = None,
@ -272,6 +281,7 @@ def _define_image_build(
"com.android.build.boot.os_version:13",
"com.android.build.boot.security_patch:2023-05-05",
],
boot_partition_size = int(boot_image_opts.boot_partition_size),
)
# Defined separately because `super.img` is not generated by upstream kleaf
@ -319,6 +329,8 @@ def _define_kernel_dist(target, msm_target, variant, base_kernel, define_abi_tar
msm_dist_targets.append("{}_avb_sign_boot_image".format(target))
msm_dist_targets.append("{}_extra_cmdline".format(target))
if define_abi_targets:
kernel_abi_dist(
name = "{}_dist".format(target),
@ -454,6 +466,7 @@ def define_msm_la(
dtbo_list = dtbo_list,
vendor_ramdisk_binaries = vendor_ramdisk_binaries,
gki_ramdisk_prebuilt_binary = gki_ramdisk_prebuilt_binary,
boot_image_opts = boot_image_opts,
boot_image_outs = None if dtb_list else ["boot.img", "init_boot.img"],
in_tree_module_list = in_tree_module_list,
)

View File

@ -270,11 +270,21 @@ def define_pineapple():
"lib/test_user_copy.ko",
]
kernel_vendor_cmdline_extras = [
# do not sort
"console=ttyMSM0,115200n8",
"qcom_geni_serial.con_enabled=1",
"bootconfig",
]
for variant in la_variants:
if variant == "consolidate":
mod_list = _pineapple_consolidate_in_tree_modules
board_kernel_cmdline_extras = ["androidboot.console=1"]
else:
mod_list = _pineapple_in_tree_modules
board_kernel_cmdline_extras = ["nosoftlockup", "androidboot.console=0"]
kernel_vendor_cmdline_extras += ["nosoftlockup"]
define_msm_la(
msm_target = target_name,
@ -282,11 +292,7 @@ def define_pineapple():
in_tree_module_list = mod_list,
boot_image_opts = boot_image_opts(
earlycon_addr = "qcom_geni,0x00a9C000",
kernel_vendor_cmdline_extras = [
# do not sort
"console=ttyMSM0,115200n8",
"qcom_geni_serial.con_enabled=1",
"bootconfig",
],
kernel_vendor_cmdline_extras = kernel_vendor_cmdline_extras,
board_kernel_cmdline_extras = board_kernel_cmdline_extras,
),
)