From patchwork Mon Jul 6 22:19:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Eatmon X-Patchwork-Id: 91885 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3784DC44500 for ; Mon, 6 Jul 2026 22:19:45 +0000 (UTC) Received: from mx0a-0002e601.pphosted.com (mx0a-0002e601.pphosted.com [148.163.150.75]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.161711.1783376379410687161 for ; Mon, 06 Jul 2026 15:19:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@ti.com header.s=proofpoint-05-2026 header.b=S3DZ2PLr; dkim=pass header.i=@ti.com header.s=selector1 header.b=v4v2V/9o; spf=pass (domain: ti.com, ip: 148.163.150.75, mailfrom: reatmon@ti.com) Received: from pps.filterd (m0380145.ppops.net [127.0.0.1]) by m0380145.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 666KGCCe1674524 for ; Mon, 6 Jul 2026 17:19:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=proofpoint-05-2026; bh=woWZI/mwa6r/5 CLPvnFQedqRCt7/opuhB9WXwKSTaMM=; b=S3DZ2PLrvFjGMrnbYdRGNcNN66dv0 Z/z2yu5UV39yKyy2T4JJBJe82VX5p83y77l8wQK2a8+C2Pl2aTyONnQIdpiRkUtx NmXnDUCEWCv/nRYIuehPxDNQYMyVgQ8XcvnZdroNv9rkEVz4/YeL4xAjkAFwsEK4 IJ70p8qVRxUWZ3hsTolqbyt6+0FLEgHR19o6e4z83qiSpFbA1M9d9eWVikoCy9ge B6DUJbSUm1fWwIJG7wtiSw+VjfVmyRW/hiEnInydXd5o8WExGJkjef0hIdAqF0eb HM3rCyHCOhoMyUnDvlWby7Ho3u74/iaWgTpNTJcMSlEesRX5Utz8lf7wA== Received: from sn4pr0501cu005.outbound.protection.outlook.com (mail-southcentralusazon11011041.outbound.protection.outlook.com [40.93.194.41]) by m0380145.ppops.net (PPS) with ESMTPS id 4f8ba0usef-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Mon, 06 Jul 2026 17:19:38 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HB3QJYcWgm29PgJuLXigafgAQenpWgLjfR6yeuz36YV2Mb6TL+YDioCAdWH93/YKjwrLTq4FXjUVbhSx0woO4g7kYL3fvISdAODjlXyZfEbgvKCixCiW85B6QmUP2+wvW2WVq+pPS72VBZklCpYa198grBpR0ClvM/x5/CEQTJZU5AWIl46aVvzmnNpLYZPgpjjBtz1tLlFTTOOZPon9dCY1AhR9QMHBu15Z8MfTC5/JfgTRABrdRnNJdcD2x4xrO4NBIqi3siCvMWv+ESZAkQrj91onJvLMQjieYymdgFM34ALHXplKikgZTCnWqfj2uI/IRIxgD1hbKLMXbjK7vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=woWZI/mwa6r/5CLPvnFQedqRCt7/opuhB9WXwKSTaMM=; b=UHL3IGRYN07Tfa6I3X7ok54ByMUOi6/Z/ATZkacj7swZYtyvdk+z2BrdSsNdH5kEYq5iLw0+87aMmU5E/gLaWqJIkcFx0qNINXDuPz73qUNOSKOjjIlw/Cl0S/AGSIYLwTBEfIcrXgadBYgEOQzKGW6MogdExpk7eiSFowaLe04KBEH3ofdXsZYpaaS5UozoVLmYavFZYk559kxToMwO/WPJzsVTqvhvGdTz/TLULU8MAK+VReL0a4KOzwL1oXTdm6pP+naQizAschBwhMosFRkQkrN8WUe1qJ6uEEQDiS612871ORHXPg4a/sbFpoYveiWYGH1gvW/+oYUKRHU3Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.21.194) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=woWZI/mwa6r/5CLPvnFQedqRCt7/opuhB9WXwKSTaMM=; b=v4v2V/9oyunYr+LRDXOSdR9c3rA7f4ALt0c7Z1yeTcfdDVBDfU2P2+KnqueJtwVNlZa5TbABcX9i3jKvbwvTyv22Ip0OuOeN5Dc9peyXXcYVvYST1ZhWLJ0WfL1aayKsRLH1cWvQhLnR0L+Xp3qGvs+MR1KCKJp9WoI6LKH0Mvg= Received: from BN0PR04CA0017.namprd04.prod.outlook.com (2603:10b6:408:ee::22) by DM3PPFCD1365510.namprd10.prod.outlook.com (2603:10b6:f:fc00::c4e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.13; Mon, 6 Jul 2026 22:19:35 +0000 Received: from BN3PEPF0000B075.namprd04.prod.outlook.com (2603:10b6:408:ee:cafe::62) by BN0PR04CA0017.outlook.office365.com (2603:10b6:408:ee::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.13 via Frontend Transport; Mon, 6 Jul 2026 22:19:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.21.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.21.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.21.194; helo=flwvzet200.ext.ti.com; pr=C Received: from flwvzet200.ext.ti.com (198.47.21.194) by BN3PEPF0000B075.mail.protection.outlook.com (10.167.243.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Mon, 6 Jul 2026 22:19:33 +0000 Received: from DFLE208.ent.ti.com (10.64.6.66) by flwvzet200.ext.ti.com (10.248.192.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 6 Jul 2026 17:19:33 -0500 Received: from DFLE201.ent.ti.com (10.64.6.59) by DFLE208.ent.ti.com (10.64.6.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 6 Jul 2026 17:19:33 -0500 Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DFLE201.ent.ti.com (10.64.6.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Mon, 6 Jul 2026 17:19:33 -0500 Received: from grumpy (grumpy.dhcp.ti.com [128.247.81.229]) by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 666MJXFd2917984 for ; Mon, 6 Jul 2026 17:19:33 -0500 Received: from reatmon by grumpy with local (Exim 4.97) (envelope-from ) id 1wgrf3-0000000GtTu-0WXK for openembedded-core@lists.openembedded.org; Mon, 06 Jul 2026 17:19:33 -0500 From: Ryan Eatmon To: Subject: [OE-core][PATCH v2 1/2] kernel-fit-image: Add KERNEL_DTBVENDORED support for FIT_CONF_DEFAULT_DTB Date: Mon, 6 Jul 2026 17:19:32 -0500 Message-ID: <20260706221933.4026508-1-reatmon@ti.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF0000B075:EE_|DM3PPFCD1365510:EE_ X-MS-Office365-Filtering-Correlation-Id: af2f8a79-2a87-484b-c9ab-08dedbaca860 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|82310400026|36860700016|1800799024|376014|6133799003|56012099006|18002099003; X-Microsoft-Antispam-Message-Info: kNNthiVltJ9lqkgbo0q1BuWTNBkIXo/e7SX+MAkSxNuUZjWkqJ1VepGbZoyjeCnswPgNkIAkFJEEPo5oRMrPZx16Nb/iPXQOIx5KLZ3uKrDw2hTt1q7zazjvBK8erO1Ub9gx4s14ZXEbzC2VzXBEk84XyGGhr5ZiulwaGsAKt9sCDK53pWbd3bGUpP4ax2ax2z8zySRKzrL1FtRWHZKDDq5poPb/EeDYdob6+LVDZTvqpVfx7gmMGejdRwnFZVOVESTY9oDuztlw58Kxnjeh2KZICvgA31dSvhDR2HE/PFCvDd+G1OqhxO4aJkPpML0hx5HFk+UbeKZuz3r5kJUkcyNMjY0sEzeFjVRmo9J8cDje9Qd+a3DNe5msJPWPvGLwgrJgPFskfeXTtM8poD5OUU+lPDHWGNtBcWFViEw4v+sv+WAHmd4wNHvM6FOgYuqDZF445i4UI8ntMpoUZpb0L3TKlbeKAhfNMgphWoo/zjp/YFwDbbx/KgD40DTFAkwmAlg6e0rcW5qa5WJepOQPNkE1DhvHJvlrD+IFCmDTNfYlPuZPL1MS/a/9xlOMj5rd3YxGu0RjTAsxcJwd392u3UcUNIKUCVmAl7MCWrXFrqe4P3PM1OoUBf2Css6DRhyJ3OafsTJKDsBfJ0SvuvGNwLnSodh2ZVjsm2UsnmIjda04Vnqb6XwVWpm2+EgCd8sbb+g5zYF4sib//z1gD6FqpQ== X-Forefront-Antispam-Report: CIP:198.47.21.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:flwvzet200.ext.ti.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(23010399003)(82310400026)(36860700016)(1800799024)(376014)(6133799003)(56012099006)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ABCcteUxZx1vaxoSpOGB8H/X/U/B2bUCUtJymX0P76LfxYrocWIpvyYoAhloG4DmXT7QsAQ0vbTA4brfMqmz+R0BIiDSf+lklTVM6rb/0bkPspLbRWl2Y82h5/L52YbEAeeS8gwr9zb+D/d5pS6TKORDLom/k4pr3YuiRzRPIE49tTyP1E05MTP0ouXwzDzIe3prwO1fSYjKL7pkBjuRjlxlE10XqN1Nw/EgAHY+JF/HmBT5Ng8vdpAc0xhSpk0mWhx8njomqlYN2KSwh3RlwbmpkrYKZKlw5o7N6pOe6EK9y+qFu7lgn7K6Za6m9SYer43CklyQrR2n9dUDWhjuz/P6rR0P1pqnRTpPFUlnoELC5tYOx7xXN3JJ6Wy30OGwg6FQp0aIWbkcAnA9jA6Tk27dz02F2kL9yYVuiNX36jGJGONkGEOmhK57jZgLyHBE X-Exchange-RoutingPolicyChecked: Y0Dg4lKmdvyedcfN+hd3b7Gydk0bLA0ZTve7b82njjRx4bFoQtUQfcN8akEDXR/Br9QSyrroyrgWfmL/iNYVdLjV+SSfFDUKbrF7aOnVNwArYQePM75FQ42SP6K45huXMJ4jo/c2faIJIcZSP+8MKATCn826QAyYT6N2ZYLuSsjcLfvUMM+PzmhJirozKa/eZI2lvTqeUgFawz42INKKN6zzPC4X0d/QCPMfJszj6jxymXDCSW1c1Cq5KzrTqlfCqs6zFlLsVU7496BBZN2UPhVCOmUc5UwluDbfNl1WjJaoOpo8TWEUh9ADgelGA44e/4GfI691m/B4MZnUmMpWNw== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2026 22:19:33.7746 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af2f8a79-2a87-484b-c9ab-08dedbaca860 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.21.194];Helo=[flwvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF0000B075.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFCD1365510 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA2MDIyNSBTYWx0ZWRfX6YMSlRr9/v0c 2vq7W17KZ/xWBdIkRT9sduCWT3yY78hHhqQAdUynChddsFm7L9/4SnrKg4SKQ2StOkbEUV0eZue W8vgUla++H83FO4tpy50nHSYDQ5Ox94= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA2MDIyNSBTYWx0ZWRfX+bnDE7p+PgNU evWwyATTtZyrwz6QA3PBScb+rLFmDj6HCKyhmBkWJSvCU+fdUh0Dft15B+Pzf6HVmHLSUcCj5xj jJ8N3BnmmbMhxx4p2r0t4ZiG78ZAswBHT/zsC4IobxdvNxKZIRH28RWezNHyfEl5QGM0C2IASQ9 Pr6+BuXb8GMkK0L68//zFaycqgOnMtBi+qFZU4r2g0cQq61Vx1xl8MR/560xkE1Ijh1egzgDUaU eCGtG0k9HyowEc2R+gUK9AD5Ka8qB4A9h+VdDrEMJyg6upBVciSTekLHrHxw6FV5QPPON15pgy/ q/ejbe+ylDes1UZZ6Ut8+ZDhgNObUx06Lmhp57N7E/3hM6Jg8d5oHgBD2SczJByAvRgJMmE5UXu Mr+GLsxa1UAatofb+Luj7vge2TJz3CWqBwKk3jdkBWQtLounl07hDpogKm0KCYDP/LBjQWD3NGQ w1+4r0eWQTdXqmYBxTA== X-Authority-Analysis: v=2.4 cv=CJ0amxrD c=1 sm=1 tr=0 ts=6a4c29fa cx=c_pps a=Ie6vhHcvS3zZlrI9i1bNAw==:117 a=iwqwCZQqcuTv3JOpYdM7/Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=RAioF0-LDSMA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=gO1vWkAQAl3rybz1DQOp:22 a=sozttTNsAAAA:8 a=wCUeORUnEuubtvRHEVcA:9 X-Proofpoint-ORIG-GUID: ngbp_l_Kfn3O78n7Yvj2IVYx_98EX1Mc X-Proofpoint-GUID: ngbp_l_Kfn3O78n7Yvj2IVYx_98EX1Mc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-06_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 impostorscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607060225 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 06 Jul 2026 22:19:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/240347 When specifying a FIT_CONF_DEFAULT_DTB for a machine, you have to exactly align the name with what will be in the fitImage file or you will get a build error. If you also turn on KERNEL_DTBVENDORED then you must also specify the vendor directory as part of the dtb name that you want for the default, but you must manually do the same mapping that the kernel-fit-image class is doing when it generates the fit-image.its file. This patch just adds the same logic to figure out the value for the requested default dtb and eliminate the need to understand the internal mapping of the class. It should make specifying the value more intuitive. The same value that you put in the KERNEL_DEVICETREE can be used in the FIT_CONF_DEFAULT_DTB and the new code will correctly honor the KERNEL_DTBVENDORED setting. Before: KERNEL_DEVICETREE = " ti/k3-am62p5-sk.dtb \ ... \ " FIT_CONF_DEFAULT_DTB = "ti_k3-am62p5-sk.dtb" After: KERNEL_DEVICETREE = " ti/k3-am62p5-sk.dtb \ ... \ " FIT_CONF_DEFAULT_DTB = "ti/k3-am62p5-sk.dtb" Signed-off-by: Ryan Eatmon --- v2: Created apply_dtbvendored function to handle the mapping to make sure consistency in the multiple places the mapping is needed. meta/classes-recipe/kernel-fit-image.bbclass | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass index 448a88ccb1..cfe43a5a30 100644 --- a/meta/classes-recipe/kernel-fit-image.bbclass +++ b/meta/classes-recipe/kernel-fit-image.bbclass @@ -55,6 +55,13 @@ FIT_KERNEL_SIGN_ENABLE ?= "${UBOOT_SIGN_ENABLE}" FIT_KERNEL_SIGN_KEYNAME ?= "${UBOOT_SIGN_KEYNAME}" FIT_KERNEL_SIGN_KEYDIR ?= "${UBOOT_SIGN_KEYDIR}" +def apply_dtbvendored(d,dtb): + if d.getVar('KERNEL_DTBVENDORED') != "1": + mapped_name = os.path.basename(dtb) + else: + mapped_name = dtb.replace('/', '_') + return mapped_name + python do_compile() { import shutil import oe.fitimage @@ -97,10 +104,7 @@ python do_compile() { # With vendored DTs, use the DT name as listed in KERNEL_DEVICETREE # and replace any path separators with underscores, this behaves the # same way as KERNEL_DTBVENDORED = "1" did in OE 5.0 and older. - if d.getVar('KERNEL_DTBVENDORED') != "1": - conf_name = dtb_name - else: - conf_name = dtb.replace('/', '_') + conf_name = apply_dtbvendored(d, dtb) # Skip DTB if it's also provided in EXTERNAL_KERNEL_DEVICETREE directory if external_kernel_devicetree: @@ -195,8 +199,15 @@ python do_compile() { loadable_loadaddress, loadable_entrypoint) + # Figure out if we have a default dtb and if we need to honor the + # KERNEL_DTBVENDORED variable to tweak the name to match what will be + # in the fitImage. + default_dtb = d.getVar("FIT_CONF_DEFAULT_DTB") + if default_dtb: + default_dtb = apply_dtbvendored(d, default_dtb) + # Generate the configuration section - root_node.fitimage_emit_section_config(d.getVar("FIT_CONF_DEFAULT_DTB"), d.getVar("FIT_CONF_MAPPINGS")) + root_node.fitimage_emit_section_config(default_dtb, d.getVar("FIT_CONF_MAPPINGS")) # Write the its file root_node.write_its_file(itsfile) From patchwork Mon Jul 6 22:19:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Eatmon X-Patchwork-Id: 91884 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 20711C43458 for ; Mon, 6 Jul 2026 22:19:45 +0000 (UTC) Received: from mx0a-0002e601.pphosted.com (mx0a-0002e601.pphosted.com [148.163.150.75]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.161710.1783376377831252314 for ; Mon, 06 Jul 2026 15:19:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@ti.com header.s=proofpoint-05-2026 header.b=ouSyZ4aq; dkim=pass header.i=@ti.com header.s=selector1 header.b=CUv5IyA7; spf=pass (domain: ti.com, ip: 148.163.150.75, mailfrom: reatmon@ti.com) Received: from pps.filterd (m0380145.ppops.net [127.0.0.1]) by m0380145.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 666KGBJZ1674492 for ; Mon, 6 Jul 2026 17:19:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint-05-2026; bh=8yAdUXW7VoTTth/FIlZE2pzq5fJ7PcNPQ7huntRPg 2g=; b=ouSyZ4aq9LWo7iC/DkdW+AhXfyA1Wb5YEmfTbaT1A1XsD0MOkec4TcmGr oYEGYuGDv0pmRxz2G7z15Dejlr9XnPAz1f0RolOFtKzZ03BYwZ1yBUK7xYCiG26G PcsZ/ZkF6xpSA9mZxPe14kZcB1d1TF4HTeSCf7tVR4fXmr1llC2hDCHPGt5C5d34 5sSGQ0DCErxCGySOXbmWU1HvMQPeGH88Ue071F4h0KxUqMOnrjHKtkijhiX5gAHf RG1CvTiCJMC/zwOS1s8713zBGmUt0UfHRSgLnh+7hR5CHoy/PNENcaq0oRaijfMl Xxk0NmAp6byU24L5shRfe85tjMrlg== Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazon11013052.outbound.protection.outlook.com [40.93.201.52]) by m0380145.ppops.net (PPS) with ESMTPS id 4f8ba0usec-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Mon, 06 Jul 2026 17:19:37 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M+lMLlp12y5aNxOv0DL+9ibM8itj45sT3K36AKO0KLT0iwm+Zor/+ra7gtMpo+J3805fGevpItGN9Vm2E8gDYYkGTJGf4cupbfl4X+f07RYw79P3Z5J9oxYs6/Mx1RoqHgcm43nyaKgZxOHKSnSMqWG8x+hiz0GTlMGvCPXUX4kDxtdYX8Q8e/bgqPbvP+4tWeiNfepv5vZFQBnEvJWp4LIE54uDW0TqfCuZikT6pO1EwCW0ubTSlqYZ0x0PMIy1RA/VSCoNXOHhO4rzY4hgS9Z7FKz3klcSxI7fR+853qUrdmH16xKbbtVNd71D4TOmJrOXAOSe9Zg3lsrFpE7sAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8yAdUXW7VoTTth/FIlZE2pzq5fJ7PcNPQ7huntRPg2g=; b=lv5DTYhNC2j565GWU3hY5p/RT8yOo7HLbMczx+jm1dzsLZwuYIiY5apwtRK2MdislOHgJ3NGas9zvZdjGdb0BWatdy5n7eiFDdSCcgCoP1RxFgGC76e35v8+a/MRatCncjV8J0m0gI+NEF/L5V6KCjRLXgVhKTxfJVLsONpusYGpyYX8kSrs6esIzetWRQhKYjWMpGL3nIFODNwSjjEmFl1VTCyaWb5Df8aKprOqAEJBBUJs6/g0ztaH1vcL4ji52RsGTunt5qlwYplAdZR1pdHayjZruY6kIto8WlN0h5me2+7xKay85zOeIN8bOgaIcWffaB6uL3bS0TIeqZ8yEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.194) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8yAdUXW7VoTTth/FIlZE2pzq5fJ7PcNPQ7huntRPg2g=; b=CUv5IyA7pNsLu00n6kfqe+Tl9eBoECc0r9CF+AA1a7Pf8c2iS+BKd64VI7XPGueE4OVQqxS9Pj6jhPfRICGRkeKmD3IkigrTEL9tph2qbwLYMI/GEtJBniL3/UakQQsPndbYZZRQ1c1U2VR8GrVXKNKo79ODDu5lUodcKsDbs6I= Received: from DS1P221CA0018.NAMP221.PROD.OUTLOOK.COM (2603:10b6:8:242::13) by BLAPR10MB5171.namprd10.prod.outlook.com (2603:10b6:208:325::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.13; Mon, 6 Jul 2026 22:19:34 +0000 Received: from DS1PEPF00017096.namprd05.prod.outlook.com (2603:10b6:8:242:cafe::8d) by DS1P221CA0018.outlook.office365.com (2603:10b6:8:242::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.13 via Frontend Transport; Mon, 6 Jul 2026 22:19:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.194; helo=lewvzet200.ext.ti.com; pr=C Received: from lewvzet200.ext.ti.com (198.47.23.194) by DS1PEPF00017096.mail.protection.outlook.com (10.167.18.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Mon, 6 Jul 2026 22:19:33 +0000 Received: from DLEE212.ent.ti.com (157.170.170.114) by lewvzet200.ext.ti.com (10.4.14.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 6 Jul 2026 17:19:33 -0500 Received: from DLEE214.ent.ti.com (157.170.170.117) by DLEE212.ent.ti.com (157.170.170.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 6 Jul 2026 17:19:33 -0500 Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE214.ent.ti.com (157.170.170.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Mon, 6 Jul 2026 17:19:33 -0500 Received: from grumpy (grumpy.dhcp.ti.com [128.247.81.229]) by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 666MJXCP2917987 for ; Mon, 6 Jul 2026 17:19:33 -0500 Received: from reatmon by grumpy with local (Exim 4.97) (envelope-from ) id 1wgrf3-0000000GtTx-0alA for openembedded-core@lists.openembedded.org; Mon, 06 Jul 2026 17:19:33 -0500 From: Ryan Eatmon To: Subject: [OE-core][PATCH v2 2/2] oe-selftest: fitimage: Add tests for KERNEL_DTBVENDORED Date: Mon, 6 Jul 2026 17:19:33 -0500 Message-ID: <20260706221933.4026508-2-reatmon@ti.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260706221933.4026508-1-reatmon@ti.com> References: <20260706221933.4026508-1-reatmon@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF00017096:EE_|BLAPR10MB5171:EE_ X-MS-Office365-Filtering-Correlation-Id: 188ab500-d486-4562-85de-08dedbaca857 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|36860700016|23010399003|82310400026|6133799003|22082099003|56012099006|18002099003; X-Microsoft-Antispam-Message-Info: 85au6MYmE8q1ieB4kG/MVa0q/kUXnrbl8r05ZV6U0YKubS9KwAyWMGpJ9s+uU5tPRlczSfl7X6ttC2LWrtlVf/HO0aDqb7OnwbnoKBwQ3ItDQ85V6dKDCQiDv7j5zZGz71+MoK6S9DRms+wxNvqet3hhZurwBU5ndj+yreHFV5FmY37stujOejN41H4PRLYG1QV7ET2DVGEJJvwD4JdusSRPUVntxVEqI4iuACpP549hyZfbEWAVz/Sn8ZMy3gXUJfzgTn4CP83WFMeisEt4LRVhzXfJVGvL101wf3EJJ1jxt2iBte4t4aPkP1UgS7GK8T0p9stbyKtkPS5ccYpLGFjoCVq41ZnD/tAwazEwXw5cK5JE3VbJVUJLhRu8ONhKRoTQ62Unm7MHYuYwG9/c0pumGaGxb4WI9alMjAFKSCpXHB4QdKpnBT2BZBsQb3KfYUJxYoYi586laas5npc0l0wU/z7r0h5yMxB6T9jrG+BqfkJpCmUgPFdVATG9cD42DuwhCItTFP+X8Ix0LEstq+5HlwS4N0HIjWWDgEcck8cM3qb7pmrC8t6gMzOwDUyIg7m2xVgsNilJx2XBfLgCUv/E687vDmS/s6HJC3Cvcl1LSvjkfZHHx5K1ZGzmYlkXkqVUwdxLPuQf+Y0MuYbvv4xg99AEDcZhg91Z/A9tCsCIWKtLvdLQJjRlCXsbfnYzyEw5iD1dkqII1ii3XZdC6A== X-Forefront-Antispam-Report: CIP:198.47.23.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet200.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700016)(23010399003)(82310400026)(6133799003)(22082099003)(56012099006)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Nxa+5Z8C7iS0pmmVPrk1y9px+3FoU2p8C1EdTwnpTV3YwjIWvG8/nLOwDsctzCMJTmeQYzXTHlVPk9HZxrUX4SX5Uy8ODxA0gCeWQhAuI5ZxBiNYchv07nrKJNGWHZNm71i1SgJjmM4VkYR5+wmtbwiUjSHYLf1UzxAO/Zx5Y/ys3VXP7Wfo0RQRY2138VVdo2WBj2qnYZwX4aFAFtxOm+W51mDpm//7YUUqO+HRJUvH708UMqj3yL5yCjbj7zCpm3qVUz2tLkLm0z3uF+h0gZPivGYGkL5IOpQfL7m19w6iQkCcDWBYSsHnPbqLYRl1wKCqhkhg/QlmjmQ5jcqZNawTmbiWrIVIwwEEPeNl06GrCwTAGSaXrcUWqZ1vMIc6g13/elEknLjtkU90yyPI92ZEtjBC+aqH1aSBs2QXePc3gfaEvYebJr/6XMpypHMU X-Exchange-RoutingPolicyChecked: k0OtdW0wfk5VdWoItfsv1m/AEoX6NOl/4ih6M++WrzTzSbO+4x67gu+Eo3dyFgEV1lrqmIUErOHpmPeu8RsQNZGpWu20w+cBvJNVjU1Q1PI+/nz6xIM5dqCoZ5T6fSQFcged9GBAUSBGbu4lfCBbMWg+rUUD1dWcS+iHw1kkrS07YCbWD6UtctakR4QawYP/epH+B7Q9PWyNtWR9bNbair1E+4Eov0IecAa8wPyaNJITAXn45M8GEda/IxBO5CEW+ytiXP+4n2FN1DXfNXWBQUV4SD1kjUUpx5kh2aukxFakPglVTFwd8mxiitshtrX9XXgZ1j3IkgfHx3B3oFfQFg== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2026 22:19:33.7313 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 188ab500-d486-4562-85de-08dedbaca857 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.194];Helo=[lewvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF00017096.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5171 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA2MDIyNSBTYWx0ZWRfXyuvkVupec8NE hzQ7a/5TTRpTpAP0mK0gbQMdnfXAnFUSXZar5fCfWi/+gcURiQFsvdsMkjbXosSlAVnMBGGrYGX 4UhOeOcCYBk1w21pRGYm0CFqcjmUz4E= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA2MDIyNSBTYWx0ZWRfX4WRbi2tzgVn4 SXlAOGKKefkAlA1Xvh9MjX9HPHHnPbmR/mSHWh0Pk5vlrD8ykvAy7FEvKD6CslG6k9z2YDqsvys TPo7gpdTONzLtCh2biTWP/a7OuLjcXeF81DUFn9RUWUJYOa9f/xr/s2+QPUV2Wgqx2JSmjr0bmU b8jVm2+BcChGzuGHLra5UVInr2ZyjID1IFAmaW8NawXa3oMv7yaZ7E2fCY7vB2w2onvQPk1Gf7G KQbUE+Z+Nxj9UEZqbcNOe+z/mqK6Yh02d/BAZO0UqFlXl3w76HJIpC/b/F4X71DIjqSRVG9wsbB mOoLgFKk3koZm7fow1xFTrkKdLp+X0WwazhqwFxp5Lg0qWN+1gyUTPldygw3C8OuxnNXocyExJA 6+YmOjmMIUj5/XEt5DrhuAmbnBHc3y8hLrlu3U/9Po8F5qiGUcGbwQwJydbEkbAhOFx4Szi9Xca sVoHOGWtTrqhNzu7j4A== X-Authority-Analysis: v=2.4 cv=CJ0amxrD c=1 sm=1 tr=0 ts=6a4c29f9 cx=c_pps a=MYN/bj0IIkanzoD+9X5qzA==:117 a=WotqVVQAdb04rnGuttW3Kw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=RAioF0-LDSMA:10 a=s63m1ICgrNkA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=gO1vWkAQAl3rybz1DQOp:22 a=sozttTNsAAAA:8 a=oHynoUYWeUJpUzXKd3sA:9 X-Proofpoint-ORIG-GUID: o3VwJek29b_8WAkCMslgtpB2ut7_ySdJ X-Proofpoint-GUID: o3VwJek29b_8WAkCMslgtpB2ut7_ySdJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-06_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 impostorscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607060225 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 06 Jul 2026 22:19:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/240346 The recent changes to fixing KERNEL_DTBVENDORED support and then adding the same mapping for FIT_CONF_DEFAULT_DTB exposed that we were missing tests for these two cases. Signed-off-by: Ryan Eatmon --- v2: Added selftest test cases. meta/lib/oeqa/selftest/cases/fitimage.py | 55 ++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py b/meta/lib/oeqa/selftest/cases/fitimage.py index c5f2975223..9abe1d0c93 100644 --- a/meta/lib/oeqa/selftest/cases/fitimage.py +++ b/meta/lib/oeqa/selftest/cases/fitimage.py @@ -107,7 +107,7 @@ class FitImageTestCase(OESelftestTestCase): _MACHINE_SETTINGS = { "qemuarm": { "KERNEL_DEVICETREE": "arm/versatile-pb.dtb arm/versatile-ab.dtb", - "FIT_CONF_DEFAULT_DTB": "versatile-pb.dtb", + "FIT_CONF_DEFAULT_DTB": "arm/versatile-pb.dtb", "UBOOT_MACHINE": "am57xx_evm_defconfig", "UBOOT_DTB_BINARY": "u-boot.dtb", "UBOOT_ARCH": "arm", @@ -117,7 +117,7 @@ class FitImageTestCase(OESelftestTestCase): }, "qemuarm64": { "KERNEL_DEVICETREE": "arm/foundation-v8.dtb", - "FIT_CONF_DEFAULT_DTB": "foundation-v8.dtb", + "FIT_CONF_DEFAULT_DTB": "arm/foundation-v8.dtb", "UBOOT_MACHINE": "pine64_plus_defconfig", "UBOOT_DTB_BINARY": "u-boot.dtb", "UBOOT_ARCH": "arm64", @@ -424,6 +424,16 @@ class FitImageTestCase(OESelftestTestCase): pass return a_comment + @staticmethod + def _apply_dtbvendored(bb_vars,dtb): + """ This is (and should remain) the same logic that is in kernel-fit-image.bbclass + """ + if bb_vars.get('KERNEL_DTBVENDORED') != "1": + mapped_name = os.path.basename(dtb) + else: + mapped_name = dtb.replace('/', '_') + return mapped_name + @staticmethod def _get_dtb_files(bb_vars): """Return a list of devicetree names @@ -436,7 +446,7 @@ class FitImageTestCase(OESelftestTestCase): all_dtbs = [] dtb_symlinks = [] if kernel_devicetree: - all_dtbs += [os.path.basename(dtb) for dtb in kernel_devicetree.split()] + all_dtbs += [FitImageTestCase._apply_dtbvendored(bb_vars, dtb) for dtb in kernel_devicetree.split()] # Support only the test recipe which provides 1 devicetree and 1 devicetree overlay pref_prov_dtb = bb_vars.get('PREFERRED_PROVIDER_virtual/dtb') if pref_prov_dtb == "test-dtbs-as-ext": @@ -678,6 +688,7 @@ class KernelFitImageBase(FitImageTestCase): 'INITRAMFS_IMAGE', 'KERNEL_DEPLOYSUBDIR', 'KERNEL_DEVICETREE', + 'KERNEL_DTBVENDORED', 'KERNEL_FIT_LINK_NAME', 'MACHINE', 'PREFERRED_PROVIDER_virtual/dtb', @@ -918,7 +929,7 @@ class KernelFitImageBase(FitImageTestCase): fit_conf_default_dtb = bb_vars.get('FIT_CONF_DEFAULT_DTB') if fit_conf_default_dtb: fit_conf_prefix = bb_vars.get('FIT_CONF_PREFIX', "conf-") - its_field_check.append('default = "' + fit_conf_prefix + fit_conf_default_dtb + '";') + its_field_check.append('default = "' + fit_conf_prefix + self._apply_dtbvendored(bb_vars, fit_conf_default_dtb) + '";') # configuration nodes (one per DTB and also one per symlink) dtb_files, dtb_symlinks = FitImageTestCase._get_dtb_files(bb_vars) @@ -1441,6 +1452,42 @@ FIT_HASH_ALG = "sha256" self._gen_atf_tee_dummy_images(bb_vars) self._test_fitimage(bb_vars) + def test_vendored_dtb_without_kernel_dtbvendored(self): + """ + Summary: Check if FIT image and Image Tree Source (its) are created correctly with KERNEL_DTBVENDORED turned off. + Expected: 1) its and FIT image are built successfully + 2) Dumping the FIT image indicates the devicetree overlay + """ + machine = self._get_machine_or_skip() + config = """ +KERNEL_DTBVENDORED = "0" +""" + config = FitImageTestCase._config_add_machine_settings(config, machine, keys=["KERNEL_DEVICETREE", "UBOOT_MACHINE", "UBOOT_DTB_BINARY", "UBOOT_ARCH"]) + config = self._config_add_kernel_classes(config) + config = self._config_add_uboot_env(config) + self.write_config(config) + bb_vars = self._fit_get_bb_vars() + self._gen_atf_tee_dummy_images(bb_vars) + self._test_fitimage(bb_vars) + + def test_vendored_dtb_with_kernel_dtbvendored(self): + """ + Summary: Check if FIT image and Image Tree Source (its) are created correctly with KERNEL_DTBVENDORED turned on. + Expected: 1) its and FIT image are built successfully + 2) Dumping the FIT image indicates the devicetree overlay + """ + machine = self._get_machine_or_skip() + config = """ +KERNEL_DTBVENDORED = "1" +""" + config = FitImageTestCase._config_add_machine_settings(config, machine, keys=["KERNEL_DEVICETREE", "UBOOT_MACHINE", "UBOOT_DTB_BINARY", "UBOOT_ARCH"]) + config = self._config_add_kernel_classes(config) + config = self._config_add_uboot_env(config) + self.write_config(config) + bb_vars = self._fit_get_bb_vars() + self._gen_atf_tee_dummy_images(bb_vars) + self._test_fitimage(bb_vars) + class FitImagePyTests(KernelFitImageBase): """Test cases for the fitimage.py module without calling bitbake"""