From 29b897c1fe89aaf0de5b1c102d1c19441b757de5 Mon Sep 17 00:00:00 2001 From: Anand Kulkarni Date: Tue, 28 Apr 2026 21:58:47 +0530 Subject: [PATCH] feat: Support default boot arguments in job definitions - Add default_boot_args parameter to template renderer. - Update fastboot.jinja2 to include boot args in kernel cmdline - Handle empty/undefined values gracefully with Jinja2 conditional This enables passing custom kernel arguments (e.g., earlycon, pd_ignore_unused, clk_ignore_unused) to the boot image for remoteproc configuration. Signed-off-by: Anand Kulkarni --- lava_Job_definition_generator.py | 4 ++-- templates/boot/fastboot.jinja2 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lava_Job_definition_generator.py b/lava_Job_definition_generator.py index dbcb434..88d80cb 100644 --- a/lava_Job_definition_generator.py +++ b/lava_Job_definition_generator.py @@ -19,6 +19,7 @@ target_dtb = os.environ.get("TARGET_DTB") flash_image = os.environ.get("FLASH_IMAGE") flash_port = os.environ.get("FLASH_PORT", "0") +default_boot_args = os.environ.get("DEFAULT_BOOT_ARGS", "") brarch = 'arm64' @@ -137,7 +138,6 @@ class ConflictError(Exception): ### Render the template with dynamic data node_data = data_handler.get_fetched_data() -job_definition = template_handler.render_template(template, node=data_handler.get_fetched_data(), platform_config=platform_config, test_method=test_method, tests_count=data_handler.get_count_of_tests(), device_dtb=node_data['artifacts']['dtb'], brarch=brarch, flash_port=flash_port, meta_qcom=meta_qcom_enabled) - +job_definition = template_handler.render_template(template, node=data_handler.get_fetched_data(), platform_config=platform_config, test_method=test_method, tests_count=data_handler.get_count_of_tests(), device_dtb=node_data['artifacts']['dtb'], brarch=brarch, flash_port=flash_port, meta_qcom=meta_qcom_enabled, default_boot_args=default_boot_args) # Parse the rendered YAML and Save the rendered job definition template_handler.save_rendered_template(job_definition, os.path.join('renders','lava_job_definition.yaml')) diff --git a/templates/boot/fastboot.jinja2 b/templates/boot/fastboot.jinja2 index dbf45f0..533b1f6 100644 --- a/templates/boot/fastboot.jinja2 +++ b/templates/boot/fastboot.jinja2 @@ -37,7 +37,7 @@ - cat initramfs-kerneltest-full-image-qcom-armv8a.cpio > merged-initramfs.cpio {% endif %} - gzip merged-initramfs.cpio - - mkbootimg --header_version 2 --kernel Image --dtb {{ dtb_name }} --cmdline "console=ttyMSM0,115200n8 earlycon qcom_geni_serial.con_enabled=1 kernel.sched_pelt_multiplier=4 mem_sleep_default=s2idle mitigations=auto video=efifb:off" --ramdisk merged-initramfs.cpio.gz --output boot.img + - mkbootimg --header_version 2 --kernel Image --dtb {{ dtb_name }} --cmdline "console=ttyMSM0,115200n8 earlycon qcom_geni_serial.con_enabled=1 kernel.sched_pelt_multiplier=4 mem_sleep_default=s2idle mitigations=auto video=efifb:off {{ default_boot_args }}" --ramdisk merged-initramfs.cpio.gz --output boot.img to: downloads - deploy: