From 41dd1c52b1d091b36f8931c4a57d3b6dc361bc84 Mon Sep 17 00:00:00 2001 From: Guilherme Gallo Date: Fri, 7 Jun 2024 11:51:18 -0300 Subject: [PATCH] ci/lava: Fix cmdline for UART/fastboot devices Fastboot devices need an indirection for creating a boot image via `mkbootimg`, so we need to propagate the cmdline from LAVA and our extra arguments to it properly. This commit fixes it by retrieving the default cmdline from LAVA and sending it, together with the `extra_nfsroot_args` to the `mkbootimg` command. Signed-off-by: Guilherme Gallo Part-of: --- .gitlab-ci/lava/utils/lava_job_definition.py | 8 ++++++-- .gitlab-ci/lava/utils/uart_job_definition.py | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci/lava/utils/lava_job_definition.py b/.gitlab-ci/lava/utils/lava_job_definition.py index 1227297d064..c89b5d6d212 100644 --- a/.gitlab-ci/lava/utils/lava_job_definition.py +++ b/.gitlab-ci/lava/utils/lava_job_definition.py @@ -34,6 +34,10 @@ class LAVAJobDefinition: def __init__(self, job_submitter: "LAVAJobSubmitter") -> None: self.job_submitter: "LAVAJobSubmitter" = job_submitter + # NFS args provided by LAVA + self.lava_nfs_args: str = "root=/dev/nfs rw nfsroot=$NFS_SERVER_IP:$NFS_ROOTFS,tcp,hard,v3 ip=dhcp" + # extra_nfsroot_args appends to cmdline + self.extra_nfsroot_args: str = " init=/init rootwait usbcore.quirks=0bda:8153:k" def has_ssh_support(self) -> bool: if FORCE_UART: @@ -57,11 +61,11 @@ class LAVAJobDefinition: actions for the LAVA job submission. """ args = self.job_submitter - values = self.generate_metadata() nfsrootfs = { "url": f"{args.rootfs_url_prefix}/lava-rootfs.tar.zst", "compression": "zstd", } + values = self.generate_metadata() init_stage1_steps = self.init_stage1_steps() artifact_download_steps = self.artifact_download_steps() @@ -122,7 +126,7 @@ class LAVAJobDefinition: "device_type": self.job_submitter.device_type, "visibility": {"group": [self.job_submitter.visibility_group]}, "priority": JOB_PRIORITY, - "context": {"extra_nfsroot_args": " init=/init rootwait usbcore.quirks=0bda:8153:k"}, + "context": {"extra_nfsroot_args": self.extra_nfsroot_args}, "timeouts": { "job": {"minutes": self.job_submitter.job_timeout_min}, "actions": { diff --git a/.gitlab-ci/lava/utils/uart_job_definition.py b/.gitlab-ci/lava/utils/uart_job_definition.py index d375898ad7f..bd05205803f 100644 --- a/.gitlab-ci/lava/utils/uart_job_definition.py +++ b/.gitlab-ci/lava/utils/uart_job_definition.py @@ -18,6 +18,7 @@ def fastboot_deploy_actions( job_definition: "LAVAJobDefinition", nfsrootfs ) -> tuple[dict[str, Any], ...]: args = job_definition.job_submitter + cmdline = f"{job_definition.lava_nfs_args}{job_definition.extra_nfsroot_args}" fastboot_deploy_nfs = { "timeout": {"minutes": 10}, "to": "nfs", @@ -39,7 +40,7 @@ def fastboot_deploy_actions( "steps": [ f"cat Image.gz {args.dtb_filename}.dtb > Image.gz+dtb", "mkbootimg --kernel Image.gz+dtb" - + ' --cmdline "root=/dev/nfs rw nfsroot=$NFS_SERVER_IP:$NFS_ROOTFS,tcp,hard rootwait ip=dhcp init=/init"' + + f' --cmdline "{cmdline}"' + " --pagesize 4096 --base 0x80000000 -o boot.img", ], }