From patchwork Wed Jan 21 15:30:27 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 4816 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 21 Jan 2026 16:30:50 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f184.google.com (mail-lj1-f184.google.com [209.85.208.184]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 60LFUnZA004523 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 21 Jan 2026 16:30:49 +0100 Received: by mail-lj1-f184.google.com with SMTP id 38308e7fff4ca-385ba7acdd9sf3109931fa.2 for ; Wed, 21 Jan 2026 07:30:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1769009443; cv=pass; d=google.com; s=arc-20240605; b=jUScq9eq6hMu91n1VR2z5RHVYi0HCSuZE1v+bv/nZ2ej8tDiMmCo626abR/DJd6WIo KiZuEggD4sGEl7MGV1MdZgJOGWXs18ZZKM5YOw4MhjiMoyk8Qv5Ei5NwP9lt0hJyIB3C GfdGuJPaZt/Po0t/3vzMu6eCZT/xCOtJ4aizHkkoKv00ld/2SvFKONcRrFzye2pfz5Ya pz9/HbtH2Q0T9sr/MBlkmegWYOmLYD/zqMPRZ69IE4CKAs/BLBJzjZN/VhxHhCykquHZ h7ooELgiXJlyqyhGYa7zt81tWI5f7KZR5lHm+DXQ3cWHXFziTnTqNHVpwR8aHvp4pOMo fjTg== 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=nXxdKp+z8rbsiQ/CD9pzxgzuQtWvvSv5DyfyLU4Ulj0=; fh=cykuVRreSRqojN+iQR9ftbZiFzSDkUel82yid6cdh0A=; b=FQxdRp4v41Y5KL/aIxFrXJ66QXhto1I/m1yEWoiBX62Xz/+3Q1/jQhsUw6OPFcUcvc o6WXJDbPlLiPLFKCAz5nEHchJojZNAfuTcjFbnyQbSuCwbxdIgP+gV4ffg+yEP0dYOVN YHG1pJbia0p0rxFK/lsA/sA1P2yNW/iMx5nzrLN8MtG7TaMrUmXUINNiVemJE1PW0j1U iTC5BSTYnn+ROPozw8G6WJfkaLR/aB/xXnTEvjdKHDtWju3u7ZQx3QdxJq5ttFpeeQlQ NPxl0MXlQ32ybJaB9zw95FQKo+MSG2Bv2C+QjW+vem35xRRcSXRKIhGxDRp9CU0Vo+0a MSRg==; 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=1769009443; x=1769614243; 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=nXxdKp+z8rbsiQ/CD9pzxgzuQtWvvSv5DyfyLU4Ulj0=; b=pa2r+jAIR+psRKl/q1kwMrEzBwst1R8bBJyHp7vf+ACOk54XokeRbHjjYPqifAmJDP QotY6s2vf0iEOWqpTiO91jNYIqxUNeCsKIgnp1lgaHXAsQKzml8zju55OaW6WKUtfktl jXdqr+SHT2Q4QE0C9BdoaG30sCdXST20cBr/W7brDoCPS4WWnfGU3QlYWxK0Lni8ico2 nwVLySCgmfho+zS6UGh1p7mm3dVUP8wIWmbvwAU/kjy7vuniE0AO559txzb0qP9b0v9q wNaKGKtt85mQSJ1Fgj5eGPpovYHPwEdWAEmaHSpxDiLqZ9uFhmmJZsDkXFiUra1EVngT GlHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769009443; x=1769614243; 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=nXxdKp+z8rbsiQ/CD9pzxgzuQtWvvSv5DyfyLU4Ulj0=; b=VHB3p40kpVfwNbMwPBZ3wJ9zR4EtsLyxOrAazEk2B8Cj7defK7CTkpsxNCREPPDjVR 4qIqqRGDKbwoZ63L1o9c52qQFKIJ5ClXUJ77ybl2yClpNiu/dTBCgthH7J1KXRumPhtt 0hmxmdyNo9FgZ+AERIiQvkIzH5z/rO46MCBlxV6zUQO9jABzfvV64pU0Ix6cJxoMehtb jCEe3AGKLM+LsxVYNkHrwUfkFqnF9X+Yy5k2/l+mPmMWeXqqs9qWdFwkgPQiydxdgQGI 4yiRQxWvoZ1FSj4AgbIIuRsfgj2PYplPlzzmphV8l7giauTK/VrO3xCP4irSttiBB8Vx KQ/Q== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXNBvAd+9gfTUY7bX7GGVd00pHLXnx0+FKDX04kifkjByYFrhSsU4Oap6vpZOEXrjG+ECbfpjU=@isar-build.org X-Gm-Message-State: AOJu0YwHzeyprE0TjSGUdnDJOTefFo/HAJ80cbDhqKsnxEqkHh4hnIEO Kf78iUtQsT/xUZLRU86d2E1VD2b3xlIKiOU4q0aP5UjpjASUfICjy+Yj X-Received: by 2002:a2e:8a94:0:b0:383:1b4b:c2b7 with SMTP id 38308e7fff4ca-383841b6c67mr57273721fa.19.1769009442529; Wed, 21 Jan 2026 07:30:42 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+FKooifHaVca+ywna8+dhIvHXb/bPibxNouAZpGXZzx0Q==" Received: by 2002:a05:651c:254c:20b0:382:fec7:d4c6 with SMTP id 38308e7fff4ca-3836edf5778ls6496491fa.1.-pod-prod-02-eu; Wed, 21 Jan 2026 07:30:40 -0800 (PST) X-Received: by 2002:a05:651c:1442:b0:37a:75c6:b44 with SMTP id 38308e7fff4ca-383841489c2mr62971441fa.3.1769009439726; Wed, 21 Jan 2026 07:30:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769009439; cv=none; d=google.com; s=arc-20240605; b=Fo+4Ae7AKCVCZ6laCs5LBXV7DUyDixSgtzj0wbcROcjdmNQCzfq5FYLhuFZx1ZBlDC +hliWC8DCtZh2HJhRghzFBfYkJf7D5qYsqq4zEqZ5YUzyaN6VFIhBXBmxuFw27+NSpSu bGvX2rBnLrqIE1Ml8hQ0GRLUywfxmnp5mAKg2605xOPDM0o8wNyTrhTPhMIj5aqgWvoM 8N2ZHNQCPwSafZN9HWXMcQST4FkkgwbHH5Gwlk+FlEcQnx57zIzXD5kD7ECsA6FHSnZQ GlQBnAG618IbJA5Tv4yqwbv17gmWPclgDIZxAl5sYzK24DA+Sufrl6a5Cys0iD1OLbIa 7E8w== 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=Md76QeykaGEmDrSOqBOhLy0mDfpJqkwkS5RhBk/kcRo=; fh=403AV4hwEHWB4lTYzGdOyLsp6fLjI4P6I+0rnADDAes=; b=Y1wHJwpzStNvhZeCWl1LY1DkUVhnDuyB2Pvgn6EBRDtenw88wGFuf9l7iHgmIE0Nyr mIFMlOLhuc9nY6Y6xsi9uyfWq+1fFAIfLK/3/MRicRUTiYVhj7y/4JvF5o/VCMieKR/a MVJDe+ujY20PLaYlR68Ir5A9DNF9vsjR1EfeLRCds1LuK64YyDYDDRctNQMevpJcUCjW Kmfa/2BgQchlqxPbaWYfAzhIthnL+3+UuMNNW9y3RLgjJUUQ1jKEbqc+HM8PYW5v8aMW PDd84xREs0naTNOayYlMdT0jZ9nyf1wflUlJzOrG9OqeW8b7/qS2xXp6+YVNmoG8vzQh LiNg==; 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 38308e7fff4ca-385b513d90bsi449721fa.8.2026.01.21.07.30.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Jan 2026 07:30:39 -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 user-B660.promwad.corp ([159.148.83.123]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 60LFUYcU004423 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 21 Jan 2026 16:30:37 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Uladzimir Bely , Anton Mikanovich Subject: [PATCH v4 3/4] meta: Move DTB deployment to a separate dtb-files recipe Date: Wed, 21 Jan 2026 17:30:27 +0200 Message-Id: <20260121153028.869575-4-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260121153028.869575-1-amikan@ilbers.de> References: <20260121153028.869575-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