From patchwork Fri Feb 6 12:27:26 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 4851 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 06 Feb 2026 13:29:32 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f60.google.com (mail-ed1-f60.google.com [209.85.208.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 616CTVZk024667 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 6 Feb 2026 13:29:31 +0100 Received: by mail-ed1-f60.google.com with SMTP id 4fb4d7f45d1cf-658b2f4e929sf550104a12.0 for ; Fri, 06 Feb 2026 04:29:31 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1770380965; cv=pass; d=google.com; s=arc-20240605; b=V1eT29m93Ax/nTfzid03/g9MI9eNtaIfWpG4JzaJAO4vM+LF25tb9kRCLec2o1C/Ay XtxHf/PArKLrKBVAsuUH8xcVgMeqBLKiYtbqrHjjOvjVJHm3LcGnM15w/qOBHXMRHp3L Oc0Ojia/vd/J2/dd9jWNWDgeaYUeFMADBI+T86MYzqKh2epLBGkSUI/9hFUzlUDWUjWf cspHMXIDwxH5xekMF5R0Pm3mzMlEaukpJejiQgpZG4jOilVs1RyGDnwSFEb7U6Oaf5YJ Z4aLdA/EXiMBLLV169A9+wZkmLl+42YJ5CqiERWHXP9cUZzlq3mWgKSsHT4wB95OGlt9 +jQQ== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=N9T/JdLo5OQUDNRvTdLm6pfViTidYxGqED807G7tlUE=; fh=E4q/IArd3t6yUlLM9fCdgpF/cOaIXJd10khzu23ZwMw=; b=QeH9zU0IgQv+p1Mk+7HsAgFYzvg3aqkeM/JkqqZV0O3SvPFC9Ux4LhVvz2ZjJVUl8D 0lwbfpGUpBp6oaEwgYEhZhKtec9zAQ1WVCZT9E0HiJprC5UV5RiGpEXng5WAH0RtxM1A fiLxAUZjLoGMs3qwIam9uuQgTazGtw54cw9dDc7LGZU5d9Mpqeqfz24GRUWJgZsePm+B NeFJTtt9tuP9CtMpkVw4KlEry4hgKvpdkKwyYEMdFIKhbfJ/vlej4VsokuvSkTxyMwAL mT7t4ly0SoyrHuMnnbtyubwQw1sfJ/OK7ktGXvetwj+4iOyMeSI42/r27L5jo9FOS4nW RlWQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1770380965; x=1770985765; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=N9T/JdLo5OQUDNRvTdLm6pfViTidYxGqED807G7tlUE=; b=omIfA7b7gZtqA+Q7RuEzP/oDFYGFEzOwr1TyLj4p6AFTQuwN5xMc1gwUinltJKGXnM FMWWdRKaf5NOPzKGDkcATvHhIml3w+vLkUtsrIFkSVF8zgCqz1VxelIw1vql+gDi3NGX M3F1HgQWR4FoXZb2KvhbwofZu/mKnaViMF1p5EO8A1ZSGoJWXbNZ2ID/HpTKDHUCud95 3oNanGlHX7F/8FQDSwJovo0PY64rdDnZ1IMBNep/Lr6F1Ajj5KG4WNiZQyW13UM5pgEH oDTreRC8vRJfkZCsd1VAaNulF1Cn5gd/nrXKFXZj7w66vqD924juUW+8Dk7j6qNqMK3+ wh5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770380965; x=1770985765; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=N9T/JdLo5OQUDNRvTdLm6pfViTidYxGqED807G7tlUE=; b=ES17A9BccKa3hBJ5lzFKwCwHLvdZiJ5qZIv0ldmJ2dEo3zC2CtfjTK2x+ma52wPYRp rQuZvLpMTBHTW8QPB4t7d+YFOGF2JVptJeh6wagXvy701P4nkkcrnkPZfsTO02Nlpqfq P9uubqu3lDwwsQbYqqt4kqpBn0853jcF9HiCEtlE4B5Nj14sxuucFc8LAlD9kwgXeOf/ RKLzTI5JN2Fu2q+KC284AvP/scPZwHCD0ysXG8QAkFQRjAkVyRLCAaDR/C+ISzNfQq0C Bv64+roFDl72Qp5281FdLXGuzyXyjnZ7ye5xM2otKkGlwXA2V7Xo3mynyjvOb0UmxIp+ G8lA== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXiuyvhvhgceg5PkYwCt1kSsAzZMB/3W3gWPdrD355sOLqApGEHtn5NTWfu40dfHJtgX0SEeJc=@isar-build.org X-Gm-Message-State: AOJu0YzlJv+br33eNftMXq+qWFEp6331JvIQlSrwJXe8q7TKw6rOAdI0 Cagv4TYCz4TB04JQzm5g2SaxcjB70GuXDss/3YyGyP+9Q3tiv+Z54buM X-Received: by 2002:a05:6402:34c9:b0:658:c49a:adb9 with SMTP id 4fb4d7f45d1cf-65984182d61mr1211385a12.18.1770380965188; Fri, 06 Feb 2026 04:29:25 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+G/k883lslp7WuCsgp7qACNtqnHW7mWOL+DQwOLcGjRfw==" Received: by 2002:a05:6402:8cf:b0:659:4b8c:bb08 with SMTP id 4fb4d7f45d1cf-659621fae78ls1760379a12.0.-pod-prod-05-eu; Fri, 06 Feb 2026 04:29:23 -0800 (PST) X-Received: by 2002:a17:906:6a18:b0:b87:7042:9aea with SMTP id a640c23a62f3a-b8edf198297mr139043266b.18.1770380963127; Fri, 06 Feb 2026 04:29:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770380963; cv=none; d=google.com; s=arc-20240605; b=W28tQ37Vx/8UAfZpZslLYLCAS6De8pR3bnPy0o5I5yAcVMRtrxj0ro3ing/Nt44MLa OQiWf3BEQFX7F+yOcAGkvN8rHtqCduNmtfUnk/K5PLvqetWZvuXXBOI0CvyIEBpkyGas KX1rB6B1WFm9frmKvg1vvu0YuEb3klOHkTycfJA5OsCnF1FFgz3jVQe1/GJDfN1H9S10 BKgKeiqClo3PUalsp3YwvTIQU5qXVDxZ2EmbmjcQgYRc4CZAaxVIEkmgieOGQMZF32Gr F4oVYwnsbxIylTwLFacn6pKIxbwPp4HdTNj9W9lbMaw0nuLxeYSxCQ2I4XoX6pQdohAH lMZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=2xRjZ01TkF7B8s7V+5l08jJyCVHyR8wyBF+j/IJ5CRI=; fh=403AV4hwEHWB4lTYzGdOyLsp6fLjI4P6I+0rnADDAes=; b=ToMlLOSbOMyXx4EPVIpArnQii2XPTe2fffxACZTLDzky9l4Ny3w3TN2hYm02vrY/lT 3TCU9Haksp+HueJuVeveeWDquPtpI+1+bq4dM76MRr0jkor+bfwsFGff9jt634uhug9G lq4fDj96hIPFEaohiGxBvECkMfFRL1e6+vhcSqdhXCEy304HC/1dG4poaWX4JDhZTwG6 tvEVxvI6G/0q3+597TntFDUxJ4YHXB4bBQjHe9oQotbIBKJhemtsY1miUwwqOPPR662n x60tmu7ngKypHCBchHMrc1zGXad8cuh1/VTQ1BvMJHMck7arq4V+6DeV03YVCud945MQ R8KA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id a640c23a62f3a-b8eda72a7fesi4915266b.1.2026.02.06.04.29.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 06 Feb 2026 04:29:23 -0800 (PST) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from headcrash-nb.. ([81.198.135.230]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 616CTH1P024605 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 6 Feb 2026 13:29:22 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Uladzimir Bely , Anton Mikanovich Subject: [PATCH v5 3/3] meta: Move DTB deployment to a separate dtb-files recipe Date: Fri, 6 Feb 2026 14:27:26 +0200 Message-ID: <20260206122910.248334-4-amikan@ilbers.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260206122910.248334-1-amikan@ilbers.de> References: <20260206122910.248334-1-amikan@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: amikan@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Uladzimir Bely Task do_copy_boot_files was deploying DTB files into the same location for different images (e.g. -base or -debug). This causes build issue. Introduce `dtb-files` recipe responsible for the extraction of DTBs from linux-image package (distro or self-built) and their deployment. Different images for the same machine now depend on this recipe and shouldn't cause parallel execution issues. Signed-off-by: Uladzimir Bely Signed-off-by: Anton Mikanovich --- meta/classes-recipe/image.bbclass | 15 +++----- meta/recipes-kernel/dtb-files/dtb-files.bb | 41 ++++++++++++++++++++++ 2 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 meta/recipes-kernel/dtb-files/dtb-files.bb diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index e605bc80..dc599535 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -372,6 +372,11 @@ 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]}" +python() { + if d.getVar('DTB_FILES'): + d.appendVarFlag("do_copy_boot_files", "depends", "dtb-files-${MACHINE}:do_deploy") +} + do_copy_boot_files[cleandirs] += "${DEPLOYDIR}" do_copy_boot_files[sstate-inputdirs] = "${DEPLOYDIR}" do_copy_boot_files[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" @@ -385,16 +390,6 @@ do_copy_boot_files() { sudo cat "$kernel" > "${DEPLOYDIR}/${KERNEL_IMAGE}" fi - for file in ${DTB_FILES}; do - dtb="$(find '${IMAGE_ROOTFS}/usr/lib' -type f \ - -iwholename '*linux-image-*/'${file} | head -1)" - - if [ -z "$dtb" -o ! -e "$dtb" ]; then - die "${file} not found" - fi - - cp -f "$dtb" "${DEPLOYDIR}/" - done } addtask copy_boot_files before do_rootfs_postprocess after do_rootfs_install diff --git a/meta/recipes-kernel/dtb-files/dtb-files.bb b/meta/recipes-kernel/dtb-files/dtb-files.bb new file mode 100644 index 00000000..f64b4845 --- /dev/null +++ b/meta/recipes-kernel/dtb-files/dtb-files.bb @@ -0,0 +1,41 @@ +# This software is a part of Isar. +# Copyright (C) ilbers GmbH, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg-raw + +PN:append = "-${MACHINE}" + +KERNEL_IMAGE_PKG ??= "${@ ("linux-image-" + d.getVar("KERNEL_NAME")) if d.getVar("KERNEL_NAME") else ""}" + +DEPENDS = "${KERNEL_IMAGE_PKG}" +DEBIAN_BUILD_DEPENDS = "${KERNEL_IMAGE_PKG}" + +DPKG_ARCH = "${PACKAGE_ARCH}" + +do_prepare_build:append() { + for dtb in ${DTB_FILES}; do + dir=debian/${PN}/usr/lib/${PN}/$(dirname ${dtb}) + cat <> ${S}/debian/rules + mkdir -p ${dir} + find /usr/lib/linux-image* -path "*${dtb}" -print -exec cp {} ${dir} \; +EOF + done +} + +DTB_PACKAGE ??= "${PN}_${CHANGELOG_V}_${DISTRO_ARCH}.deb" + +do_deploy[dirs] = "${DEPLOY_DIR_IMAGE}" +do_deploy[cleandirs] = "${WORKDIR}/deploy" +do_deploy() { + dpkg --fsys-tarfile ${WORKDIR}/${DTB_PACKAGE} | \ + tar --wildcards --extract --directory ${WORKDIR}/deploy ./usr/lib/${PN} + for dtb in ${DTB_FILES}; do + mkdir -p ${DEPLOY_DIR_IMAGE}/$(dirname ${dtb}) + find ${WORKDIR}/deploy/usr/lib/${PN} -path "*${dtb}" -print \ + -exec cp {} ${DEPLOY_DIR_IMAGE}/${dtb} \; + done +} + +addtask deploy before do_deploy_deb after do_dpkg_build