From patchwork Thu Apr 3 17:07:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Badrikesh Prusty X-Patchwork-Id: 4134 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 03 Apr 2025 19:08:38 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f61.google.com (mail-lf1-f61.google.com [209.85.167.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 533H8b3K008484 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 3 Apr 2025 19:08:37 +0200 Received: by mail-lf1-f61.google.com with SMTP id 2adb3069b0e04-549adfc38d8sf557652e87.1 for ; Thu, 03 Apr 2025 10:08:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1743700112; cv=pass; d=google.com; s=arc-20240605; b=fhg2t/IxKJezAoqVvU+/MTFjC+ufvFZNLuxFz38ifE/0HHvA436mVF0kHr+Uib8hZE SORANG5oSwXaGSHieNruNpj/8ROV/ZG0kYVZu18mMAbczecQVqUIJr49crXP5fO298Kt cCtcvwZCxd78LWThCSNFWH+75LQsTrEdimjJ7+OEQffl5P3xNnR7m3+zCK1FjVDys4lW 3W3kJ+dyYYa4/msW4ehHayz9EL7SY7WtclJ8VYSmM9z+PE2Kvl6Q+8ISuSgRldenEYyB Hm7yzHAIQ548AjB1M+qAt8IO/IEnPIej/hJB8nO9+iOIv9xOYv+prrNg1EsPtamBhhH9 VkzA== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=+Dk4C9uiyeloIBSDHP3Z05uWmo2sYPmfBm4r6IJGZYU=; fh=C5yo2+InSRrB2TQcGc9gbGl86tUobgQAX1ifLeWFqYc=; b=NRe6ejsJdTlD9Lr/pVxUIfhwDBC5nmqx/Ln3S4KwFlKtC9sOW6TvdBcCEEsm1UH21/ ApAfB380vEkgoVDWOgq8oERbA8QpOqqNUIpZV1E40TWNcsyHSl7AKwr8R3rCpgrM9+Jr AeNqoHyqhxXNbR8kLtKcs6UOUF4eSzJ9pxy6uEUVP5JtHN5C4Qk7F4JP1uY1gtZsMizN 3neHeV6U85qOZ+VlEOOhXwmr2fw29bjg2clXU+aK16u8OJTKd1FTuLYVfTQXMHO6L7V7 uz5ZptGKxOk4qOkNpIIk1cMjtNyz2tJvqnfJg4UX2YurYbXEQBBl0Fm8bWKZGfToN1i/ Wy7Q==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=NmpLtKKu; spf=pass (google.com: domain of fm-1328765-2025040317082776547bf730d13198aa-6_3kl_@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328765-2025040317082776547bf730d13198aa-6_3Kl_@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=1743700112; x=1744304912; darn=isar-build.org; 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:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=+Dk4C9uiyeloIBSDHP3Z05uWmo2sYPmfBm4r6IJGZYU=; b=uc+fW/cCpAzVb6lDdrHDb2ZI9m3PcNIz8lemw+qzZaZXM4453d0/2MgZqoRbVy3ElK uWm2pOVb0KiO5+16/Td2NkX08223LdA/yCog09TQFgJdDzfeY5z1Mv+SAJWWK7Dj3xFG f1p8a/NYXi3A7akrc8igkKpb3KhmRNpzV8RguLkEz2Gu/t7oF4+42DinCEYvg0yLGJ5g IIcVO2xYgRdYMN9PVoU6gAoSRlPrUrJiAwZhbDVJhKZKCLn/k3Hy4RuglqoCLEPMlXuL 3wlGHsuXe9Dhk8UeSRCMooHD9qfwr38p2Rol8StzpgHV3yB04jT59FvRuBjX3JKEyFI3 7rtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743700112; x=1744304912; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+Dk4C9uiyeloIBSDHP3Z05uWmo2sYPmfBm4r6IJGZYU=; b=LNgzQJc0Un4ErH2vZ2g0WsqR8RYFZX/2LQiQPkqlqGNjfAezUoMOXGjTHsPv+grDKs 4+OSI+GblAd8icRhUhve0JU4OCU8hEiJ9Kvcm/SMDoMPeHlqnXBvbbTe9cChJmQyNL/L LId0SYl92rocfhV5qzfdx/6oJ/2uEkf3OVJX7WymVwTqmJbYpBuo9r9k7vmSkoeTkx1N nxEhdnqP34uxKNmZRRR7w34TP0vyVTRdsnjLQn335J6lWwfqAycz8r+nVOU/aQL4ORJZ PGBJ7Mo5BkeBDGPoSzTXj6OuPLHeJOpgQHpL4xAaUNZnAUYwbwHbgzseGy4YKWsUekOL 7vXQ== X-Forwarded-Encrypted: i=2; AJvYcCXUmd6B+2cNsUXMbMXh6rj5JXTpOHsXsFgqXCC4izLOFaY5n1e1tHK1krrucmxBWDGVUZ8M/jg=@isar-build.org X-Gm-Message-State: AOJu0Yw3rEqPLOH1y+irerb/gMYmdf1T+RNNisn6vhzvBk54NLU6+9J2 1A9cwJmMz+WJ86DPuxkg6OTnyi0sFFK76VQaCCq3LkDiK8tAkEJJ X-Google-Smtp-Source: AGHT+IGWPxVBYi51qy9Q97Knuu6CeEPWTF/D+Pwur9+D9gqZ32RheXiB4l/DLwq/NCEEBdGiGpoKFQ== X-Received: by 2002:a05:6512:220a:b0:545:225d:6463 with SMTP id 2adb3069b0e04-54c1e3c7778mr1037149e87.42.1743700111139; Thu, 03 Apr 2025 10:08:31 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPAIzV3ihsPfgqCrLwfch2Ey4QLZsZ3rm96unVe7FPWfFsQ== Received: by 2002:a2e:a54e:0:b0:30b:c79f:c79 with SMTP id 38308e7fff4ca-30f007417f3ls2051211fa.1.-pod-prod-01-eu; Thu, 03 Apr 2025 10:08:29 -0700 (PDT) X-Received: by 2002:a05:651c:1583:b0:30b:aabf:fa8 with SMTP id 38308e7fff4ca-30f0a18275bmr1293641fa.28.1743700108585; Thu, 03 Apr 2025 10:08:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1743700108; cv=none; d=google.com; s=arc-20240605; b=RZodYWwjjqslmDNFDPSxeu1uhFJQkhyOuzMJ2YD33GfYV41gRWVPseQpZVwZSorcju DT9ygCt+y/Rkz6dSwdZpFnG8KlTjTQepRjYPUZ2NW16nmXpF729SMsHalTatcAC8x2Bu 13DfNDZuLeoPEej79Ca1owVRjit1snaEoCoBmKPocNuUfQMSQobdQRuvGMLyp9IKu/+/ dAP+RVDesqGPgi7QRcRp85J/1QxXKz6+U8Hh3m4kXvU3HC49/L0yFyBGrbB28Xol+FV7 8I/fqo79iBTruziJIrwm+mtbHDVIC/Bxel2s9Yf5VMpat04pzS7f2S0d2RKY8t1ef67T U0SQ== 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:message-id:date :subject:cc:to:from:dkim-signature; bh=9VB44LfNLpfM73FUuKKxj3LHjFT1Fq7L0cDgy/WMpBM=; fh=IVe7tedBjrVO7NMfxxhSNfR9HdaoPf8yp1e13zSf5B8=; b=Pan2JwCWACeEYZEprJBNbJDbJDwiLOArOLYpvdm4Jh9dXrJgNhSRWPnDS86j0E0skI YNPl+VjibO+4lpYjsk3au4XlCUcBVQ0n1D3IzUPNsfuZPvNPGshbv5Pbmi/8+xw1ahHE oDttXGpMd7OdoBWqvCDe5fsuy+QLDn2LqXKC0kf4tDNt1DZVZywIfrhjQ313vxafdg1v 3vQICJtNUiQMGV0DRgnN+3wmDNou8beNm8HorFLW6gSjy8YUHe0hsaBU8DYV+u3d1xMN R23iSEoxhgW5QHk1x2iL+0SmWSG851rsg1OoOZ8K7FwCfeTaiMSzdjN/Y29P3D7Vgopm jAQg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=NmpLtKKu; spf=pass (google.com: domain of fm-1328765-2025040317082776547bf730d13198aa-6_3kl_@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328765-2025040317082776547bf730d13198aa-6_3Kl_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-30f031cb99bsi341931fa.8.2025.04.03.10.08.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Apr 2025 10:08:28 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328765-2025040317082776547bf730d13198aa-6_3kl_@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 2025040317082776547bf730d13198aa for ; Thu, 03 Apr 2025 19:08:27 +0200 X-Patchwork-Original-From: "'Badrikesh Prusty' via isar-users" From: Badrikesh Prusty To: isar-users@googlegroups.com Cc: badrikesh prusty Subject: [PATCH] image: copy DTB_FILES to DEPLOYDIR/IMAGE_FULLNAME/KERNEL_NAME/ Date: Thu, 3 Apr 2025 22:37:01 +0530 Message-Id: <20250403170701.807745-1-badrikesh.prusty@siemens.com> 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=NmpLtKKu; spf=pass (google.com: domain of fm-1328765-2025040317082776547bf730d13198aa-6_3kl_@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328765-2025040317082776547bf730d13198aa-6_3Kl_@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 Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com 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_H2,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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: badrikesh prusty 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 --- meta/classes/image.bbclass | 5 +++-- meta/classes/imagetypes_wic.bbclass | 6 +++--- meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py | 4 +++- scripts/lib/wic/plugins/source/bootimg-efi.py | 4 +++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index ff3cd737..218e7c35 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -326,7 +326,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}" @@ -360,7 +360,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 7a050e73..6b7b3727 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 78ae4fb2..5b23671f 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,9 @@ 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") + cp_cmd = "cp %s/%s/%s/%s %s" % (bootimg_dir, image_fullname, kernel_name, dtb, hdddir) exec_cmd(cp_cmd, True) @classmethod diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index 13a9cddf..cf83a6f3 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -368,7 +368,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 = "%s/%s/%s/%s" % (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