From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 08 Oct 2025 09:33:42 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qt1-f183.google.com (mail-qt1-f183.google.com [209.85.160.183]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5987Xekt006162 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 8 Oct 2025 09:33:40 +0200 Received: by mail-qt1-f183.google.com with SMTP id d75a77b69052e-4dbd8484abbsf100789591cf.0 for ; Wed, 08 Oct 2025 00:33:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1759908815; cv=pass; d=google.com; s=arc-20240605; b=DS3C3YQkAGlAZTVdCM49/B0UPgBkrP+MvPgkn2X6Cavq05fE7E4JwbdpNPbR+jejZm V7aunbgZzKIEIVfAZdPYNO9bfdgnJLcOu6LP6vnqOrjxeH+QY01/v8WrFnvYwBt4Wcit YN5qly86hWpZkgueQpgrQc6hVGtDqeR4neI77etBxSktHQVzQZCPUQYr5TDru4FCoJm+ +C91T8dcn/qtSD/oeK+KmfcSRPtju0uEn7pewoSao18/aAbG1nptaPurHOR7B3N1UFew s2VMrCsFT5k2JlfFkGH0qHHyRtAp8NJAZ/SIDaLN+frACAVIEjmCiWRwZU6Q5cTy9cU5 ifBA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=IApenoLbNKtELsg3J88HijLKERcZnuT8sXsNiZuYaVo=; fh=Uq3xYE7U+jndrWsVrft2bJNZ+HlqAH5xBwBIevcNkxQ=; b=eEJ59oF3zm+cL5RVRBlaa0BiGNtlwu91zO9UKpahsSOW2lDrP2fvg1PnxBMX4sGGgl jYoxZKgcRgh8L4AcDfPyRGU5txVa8MwN+SFCWY4eaVR9WCCGjMKU24CkBAA7vFThFMox fMHp5akxjYPNRKbIHlt0agw0sDli0Tvbz2JKjwoTnbn4nSIk164x1ntFH9Q95WN9UqWS AGgP21tLEvFziB6VXeriGPy8qAQokXPqbvUK69QBc+SH+xXIIR3AmzpSLr6nSj+nL5jr NUysLO2IQlrJOaverelk6CCDZ36rv4cv50aCnBphVKuzogoGQNJK+YfyOio7IMo9NBt1 dAJg==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=bv4EqMNy; spf=pass (google.com: domain of fm-1328765-20251008062335c91c4a0f9c00020771-jp4jjy@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1328765-20251008062335c91c4a0f9c00020771-JP4jjy@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1759908815; x=1760513615; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=IApenoLbNKtELsg3J88HijLKERcZnuT8sXsNiZuYaVo=; b=xZvuxvvNeRPF+WrRk4s/LY5kN0k8STET/lcidcL2nSCQ6X1g7yHvSjRwHB4S3Swhgd rgf7XF3PKy/UQcuzU+eEB0yNDRvTcKDArBkxBqnEMntZdzT9AzPxOWd3PN5tcPp4v52a 0goUg+ywmEhdl7smuN+Pmqlx8s2yK+4GS2MVPB5Ij0kcvVsncS1GHd3Q3cz9dO097JXq tdEEtCugLMQjBiUU+8JkImQCrcI4IqeRcjCFOLlFGgEiC8b2xYXEjEClEWQVR5Xc9ovl Vaihnb0qmYVsoSDpFkRcATRSa1apl6NmuFsupoIpfbN0Z5QBeB69M9Fa3SP//gCqAFB1 5LsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759908815; x=1760513615; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=IApenoLbNKtELsg3J88HijLKERcZnuT8sXsNiZuYaVo=; b=Oy3F/vXhmGQv3J9/gpEcdIDyMPsBcs6GlUp62fzE3n4tLFKWY0eiscCLxdYwSGuplX 0E7hSPikH0sGgeR4JZMrGrLVrpDP7NCELKamCIy+yzGe1odAnUguJY9pgbUPkp9MlA5B OGzRfyKmFqVb16SDBi/uQIL4cVzWnpCu3eYypyQvhNcZOf7bLKIDeUxFJwbbssJw9zMX m0jHlwR9PNReOQgvYHHiryt89CkEIDYIX+rGQ4QTRVPM2F0P6eRNNDDPTPS40UvlMAfu MHmqOTfwwEuMHEUIxftrmoTmL2zzAgYjdAeLcvZNsdmWCL20WbhQ1nwVrnuIuP/nxRMw 2aeg== X-Forwarded-Encrypted: i=2; AJvYcCUXs1qwuYRXJSJrHdq/e8+fWiF7QSNuhlVJhMYJhxccUJGcSVWHcwrVt26R4e6F28f2ixBS@ilbers.de X-Gm-Message-State: AOJu0YxSml/ThKxucBRRXC1niv3Mm8n40fm53mAvCLOSXT0KBjj2Vble 3H+7Vv+qf0uHAQ5/C3hnlViKJNqFstItbZUoGeKPTfVuRD7ti1qTK9HI X-Google-Smtp-Source: AGHT+IFXmOt89aaR57OLkoYBxVaAnuP9RsWncBJWeycYnvXMUpGmpqeadfEloSZt5Qcp0BI0sLbzag== X-Received: by 2002:a05:622a:1144:b0:4e5:8c78:db09 with SMTP id d75a77b69052e-4e6eaccc2famr36242261cf.14.1759908814601; Wed, 08 Oct 2025 00:33:34 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ARHlJd6DorHiCVmx8K6mM8p+2dftDzFW4l8dX/jnTCXZkJgLbA==" Received: by 2002:a05:622a:9019:b0:4e4:600f:d8d4 with SMTP id d75a77b69052e-4e6d508de72ls48981151cf.1.-pod-prod-08-us; Wed, 08 Oct 2025 00:33:34 -0700 (PDT) X-Received: by 2002:a05:620a:40c8:b0:829:d46:78f5 with SMTP id af79cd13be357-883550968a1mr381915085a.37.1759908814146; Wed, 08 Oct 2025 00:33:34 -0700 (PDT) Received: by 2002:a05:620a:4503:b0:7f0:46b2:649f with SMTP id af79cd13be357-8823d93d327ms85a; Tue, 7 Oct 2025 23:23:40 -0700 (PDT) X-Received: by 2002:a05:6102:5a96:b0:5a3:acb7:55c7 with SMTP id ada2fe7eead31-5d5e2371937mr734812137.18.1759904619786; Tue, 07 Oct 2025 23:23:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1759904619; cv=none; d=google.com; s=arc-20240605; b=C+p0f0nsNw/pjQWIzHpkRxE0km6NW1Lfdxn2/59T31Gmc/1MWc9YyD0ZNtsxW/1KmM b4v9xJsvV/4LiJIP6YYLGj6et2qarBU0VaxWANeqK5F5JJBY96Q4zgqaD2XO7BG881AI 4L49zm1rCQCh2Zte/QADXJXTa9AZq1NPQmFGLzs6tbqnDvUXJKOFzhW/h124Gy1+IyTw Rl5oJxzzkF+X0NJuqUvW6yINu7cFU5PRwfpKgurVVSDpE+jUqoH0/q23hNs8rZhPs2hA 01s97S2CvkTzMLNLTp7XI0BnUCSAEIGlr3XJpB4BTHTJIIBB8KNt5ui3kd+LjwTPeID6 ltnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=xQkEZJZJu3BbOyhzeF9a7exIH/2ckyeuRciWtFf06vQ=; fh=Pt40xOu0ssl96dVOzN1FNmNtHgqv9aW9VmLrBG8UyVY=; b=GXjofaAvGi0KyO9E76G0P4pd2Gp35cYEsI5uXJX5sT+UbXX1d7TXadLoVpOzsbfuDy lwuUL1SqD4qYRIhGDmb6itmy8/XlRn1b++m+l7MrtZOlX8QHrlRrBzd4P133LiUGSVj9 VZar/meb/yiIBeRTo7dgqDgAPR5OkfGcBDIRXPDZuK+DFG1NH0CmRGHz0qAal3xWyopM YYJTKjcak38mkEOP/gwdWcOADgZzc/CCzok42R5Z+gi7sL6rmQUVtvKBzMzlhg05hXzX V9+2acZValEC0wBiH33+WTRxOmDkZOwC5ypcc2QNKcYyAGpxji9fjK/S06HTN1NJqNd7 EGog==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=bv4EqMNy; spf=pass (google.com: domain of fm-1328765-20251008062335c91c4a0f9c00020771-jp4jjy@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1328765-20251008062335c91c4a0f9c00020771-JP4jjy@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id ada2fe7eead31-5d5d3895e74si205566137.1.2025.10.07.23.23.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Oct 2025 23:23:39 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328765-20251008062335c91c4a0f9c00020771-jp4jjy@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251008062335c91c4a0f9c00020771 for ; Wed, 08 Oct 2025 08:23:37 +0200 From: "'Badrikesh Prusty' via isar-users" To: isar-users@googlegroups.com Cc: Badrikesh Prusty Subject: [PATCH v2] image: copy DTB_FILES to DEPLOYDIR/IMAGE_FULLNAME/KERNEL_NAME/ Date: Wed, 8 Oct 2025 02:22:41 -0400 Message-ID: <20251008062241.52067-1-badrikesh.prusty@siemens.com> In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328765:519-21489:flowmailer X-Original-Sender: badrikesh.prusty@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=bv4EqMNy; spf=pass (google.com: domain of fm-1328765-20251008062335c91c4a0f9c00020771-jp4jjy@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1328765-20251008062335c91c4a0f9c00020771-JP4jjy@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Badrikesh Prusty Reply-To: Badrikesh Prusty Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: XQS3sZUrbRZ2 Copy DTB_FILES to DEPLOYDIR/IMAGE_FULLNAME/KERNEL_NAME instead of DEPLOYDIR/. An issue is observed when we attempt to build a second image for a machine utilizing DTB_FILES. During the do_copy_boot_files task of image creation, the DTB_FILES are copied to the shared location DEPLOYDIR/. When the build of a second image is triggered, it detects that the DTB_FILES are already present and avoids overwriting them. Reproducer: bitbake mc:phyboard-mira-bookworm:isar-image-base bitbake mc:phyboard-mira-bookworm:isar-image-debug Copy the DTB_FILES to the directory: DEPLOYDIR/IMAGE_FULLNAME/KERNEL_NAME/. * This will allow building multiple images. * As each kernel recipe ships its own DTB_FILES, if a user tries to rebuild the same image with a new kernel, the DTB_FILES associated with the older kernel will not be overwritten. Update the DTB_IMG variable to check for DTB_FILES in their new location. Update the WIC plugin scripts to use the DTB_FILES from their updated location within the DEPLOYDIR. Add IMAGE_FULLNAME and KERNEL_NAME to WICVARS to allow the scripts to retrieve these variable values during WIC image generation. Signed-off-by: Badrikesh Prusty --- RECIPE-API-CHANGELOG.md | 11 +++++++++++ meta/classes/image.bbclass | 5 +++-- meta/classes/imagetypes_wic.bbclass | 6 +++--- .../lib/wic/plugins/source/bootimg-efi-isar.py | 10 ++++++++-- scripts/lib/wic/plugins/source/bootimg-efi.py | 9 +++++++-- .../lib/wic/plugins/source/bootimg-partition.py | 14 ++++++++++++++ 6 files changed, 46 insertions(+), 9 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 2930ade9..0ad0ebf7 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -761,3 +761,14 @@ the following variables in your image recipe. For example, to use German, add: LOCALE_GEN = "de_DE.UTF-8 UTF-8\n" LOCALE_DEFAULT = "de_DE.UTF-8" ``` + +### Copy DTB_FILES to Separate Location for Multi-Image/Multi-Kernel Support + +Copy DTB_FILES to DEPLOYDIR/IMAGE_FULLNAME/KERNEL_NAME instead of DEPLOYDIR/. + +This enables building multiple images utilizing DTB_FILES, with each kernel +recipe providing its own DTB_FILES. Rebuilding an image with a new kernel won't +overwrite the DTBfiles from the previous one. + +Update DTB_IMG to locate DTB_FILES in their new path, and modify WIC plugin +scripts to use the updated DTB_FILES location within DEPLOYDIR. diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index bd1b8552..8606d353 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -333,7 +333,7 @@ EOF KERNEL_IMG = "${PP_DEPLOY}/${KERNEL_IMAGE}" INITRD_IMG = "${PP_DEPLOY}/${INITRD_DEPLOY_FILE}" # only one dtb file supported, pick the first -DTB_IMG = "${PP_DEPLOY}/${@(d.getVar('DTB_FILES').split() or [''])[0]}" +DTB_IMG = "${PP_DEPLOY}/${IMAGE_FULLNAME}/${KERNEL_NAME}/${@(d.getVar('DTB_FILES').split() or [''])[0]}" do_copy_boot_files[cleandirs] += "${DEPLOYDIR}" do_copy_boot_files[sstate-inputdirs] = "${DEPLOYDIR}" @@ -356,7 +356,8 @@ do_copy_boot_files() { die "${file} not found" fi - cp -f "$dtb" "${DEPLOYDIR}/" + mkdir -p "${DEPLOYDIR}/${IMAGE_FULLNAME}/${KERNEL_NAME}" + cp -f "$dtb" "${DEPLOYDIR}/${IMAGE_FULLNAME}/${KERNEL_NAME}/" done } addtask copy_boot_files before do_rootfs_postprocess after do_rootfs_install diff --git a/meta/classes/imagetypes_wic.bbclass b/meta/classes/imagetypes_wic.bbclass index fb0b81a9..a9fec616 100644 --- a/meta/classes/imagetypes_wic.bbclass +++ b/meta/classes/imagetypes_wic.bbclass @@ -102,9 +102,9 @@ WIC_DEPLOY_PARTITIONS ?= "0" # taken from OE, do not touch directly WICVARS += "\ - BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES IMAGE_EFI_BOOT_FILES \ - IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \ - ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH" + BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_FULLNAME IMAGE_BOOT_FILES \ + IMAGE_EFI_BOOT_FILES IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR KERNEL_NAME \ + RECIPE_SYSROOT_NATIVE ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH" # Isar specific vars used in our plugins WICVARS += "DISTRO DISTRO_ARCH KERNEL_FILE" diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py index 446398d0..465e549a 100644 --- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py +++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py @@ -57,7 +57,10 @@ class BootimgEFIPlugin(SourcePlugin): if dtb: if ';' in dtb: raise WicError("Only one DTB supported, exiting") - cp_cmd = "cp %s/%s %s" % (bootimg_dir, dtb, hdddir) + image_fullname = get_bitbake_var("IMAGE_FULLNAME") + kernel_name = get_bitbake_var("KERNEL_NAME") + dtbs_dir = os.path.join(bootimg_dir, image_fullname, kernel_name) + cp_cmd = "cp %s/%s %s" % (dtbs_dir, dtb, hdddir) exec_cmd(cp_cmd, True) @classmethod @@ -359,8 +362,11 @@ class BootimgEFIPlugin(SourcePlugin): if dtb: if ';' in dtb: raise WicError("Only one DTB supported, exiting") + image_fullname = get_bitbake_var("IMAGE_FULLNAME") + kernel_name = get_bitbake_var("KERNEL_NAME") + dtbs_dir = os.path.join(deploy_dir, image_fullname, kernel_name) dtb_params = '--add-section .dtb=%s/%s --change-section-vma .dtb=0x40000' % \ - (deploy_dir, dtb) + (dtbs_dir, dtb) else: dtb_params = '' diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index 13a9cddf..0e17543d 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -51,7 +51,10 @@ class BootimgEFIPlugin(SourcePlugin): if dtb: if ';' in dtb: raise WicError("Only one DTB supported, exiting") - cp_cmd = "cp %s/%s %s" % (bootimg_dir, dtb, hdddir) + image_fullname = get_bitbake_var("IMAGE_FULLNAME") + kernel_name = get_bitbake_var("KERNEL_NAME") + dtbs_dir = os.path.join(bootimg_dir, image_fullname, kernel_name) + cp_cmd = "cp %s/%s %s" % (dtbs_dir, dtb, hdddir) exec_cmd(cp_cmd, True) @classmethod @@ -368,7 +371,9 @@ class BootimgEFIPlugin(SourcePlugin): if dtb: if ';' in dtb: raise WicError("Only one DTB supported, exiting") - dtb_path = "%s/%s" % (deploy_dir, dtb) + image_fullname = get_bitbake_var("IMAGE_FULLNAME") + kernel_name = get_bitbake_var("KERNEL_NAME") + dtb_path = os.path.join(deploy_dir, image_fullname, kernel_name, dtb) dtb_params = '--add-section .dtb=%s --change-section-vma .dtb=0x%x' % \ (dtb_path, dtb_off) linux_off = dtb_off + os.stat(dtb_path).st_size diff --git a/scripts/lib/wic/plugins/source/bootimg-partition.py b/scripts/lib/wic/plugins/source/bootimg-partition.py index 94183174..5c1e4497 100644 --- a/scripts/lib/wic/plugins/source/bootimg-partition.py +++ b/scripts/lib/wic/plugins/source/bootimg-partition.py @@ -183,9 +183,23 @@ class BootimgPartitionPlugin(SourcePlugin): logger.debug('Kernel dir: %s', bootimg_dir) + image_fullname = get_bitbake_var("IMAGE_FULLNAME") + kernel_name = get_bitbake_var("KERNEL_NAME") + dtbs_dir = os.path.join(image_fullname, kernel_name) for task in cls.install_task: src_path, dst_path = task + + src_fullpath = os.path.join(kernel_dir, src_path) + + # If default path doesn't exist, try DTB deploy path + if not os.path.exists(src_fullpath): + src_path = os.path.join(dtbs_dir, src_path) + src_fullpath = os.path.join(kernel_dir, src_path) + + if not os.path.exists(src_fullpath): + raise WicError("Couldn't find %s, exiting" % src_fullpath) + logger.debug('Install %s as %s', src_path, dst_path) install_cmd = "install -m 0644 -D %s %s" \ % (os.path.join(kernel_dir, src_path), -- 2.47.3 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251008062241.52067-1-badrikesh.prusty%40siemens.com.