From patchwork Fri Feb 20 17:15:51 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4892 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 20 Feb 2026 18:16:31 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ot1-f56.google.com (mail-ot1-f56.google.com [209.85.210.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 61KHGTSG006245 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 20 Feb 2026 18:16:30 +0100 Received: by mail-ot1-f56.google.com with SMTP id 46e09a7af769-7d4cc9c8302sf3261468a34.1 for ; Fri, 20 Feb 2026 09:16:30 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1771607784; cv=pass; d=google.com; s=arc-20240605; b=KAuUW1SPnBkYUROmfTRHqFn56baP7oytGSYTzyVaVnE4OqUSJFbowVxqg4lTBu+6mF FBsKKmhAUQN5cdwRTyEr4cseE5OcrFPEc+9Wpg//BdhtFctk3dJSpiavj9GlofkKk/NV MIhQdG4qQGFqNw8gzUw5Ny70riYF37Bl/uIFqUOjw58l9eaUUsYBuPx3pqA5DAkgzvGZ lci5Jku2/UqPJ05w+Ro1TaOoGSziXgU32OSOaiRbF+8uGy8b6XIhtbac4vHL8lplzvY0 060dgP3+0cvOa8AbXr4fqe9fnH/L5hrYX/3aT8da5idewXvyZw+GXHqln4jjHFh4xPZF Nz8Q== ARC-Message-Signature: i=3; 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:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=HNBh5njd8v1rTdZKUoKg/ysKtzABTQul76k5gSr05VY=; fh=ai9cJgRbJXZWpnMzQFKRCYRLmdHOOAnq4AMSo7RCL5c=; b=K4eNmgvEqd2b9Sc0I8dSiSA3LfaGQrm7dpzDP+PozPSnrF8is/cUMSKI8eGtlLYACt NWgeze8/K32/GpMzrZiJdXYHiwef+Qw0Ke7ATZevuX0fVcj3KtXoTgV3Dc6YCvE4Aj2a QrZ66/jj5FK+N0ATbXfWytfjsXqQeJsicTCeN3GZOlOYPBlStWja8Ub+liHKHXiOQgyl 0tEkRhQbRTZ4EB/BdEC4BVa8r5b8Rynvc8axv3tzfC5h06SrA+oiQc1HlemPoAOn3HuA rll2OggboX2V6qT8mFRZsBexzZ1Dbmpw93LQSA/uzhEQq7FPzPeFHrS5Ll7tiJyGfXum wtmg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=X7s0JPOQ; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c20f::7 as permitted sender) smtp.mailfrom=felix.moessbauer@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=1771607784; x=1772212584; 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:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=HNBh5njd8v1rTdZKUoKg/ysKtzABTQul76k5gSr05VY=; b=rG7CwB9Oqwpw7MqzDBvY7FfamTr9zvCHb8v2eKwDpyiK79ZFhVIY9zcSUsybrN1Gcd GH+I3y3q/CcnkdapF+hfuOqp5193/f3AfaTuC1MGPUOY2c2Iz6PXyxRm+GWTV8zan++A iAoWaMgiwodz1xMkCftHjHDW6asOyOddbDxBDjcXFvkeLCaAffFEyXzH+bukQ01MSrsD 7OcvSwrAMXoMVQeYUHT48Mv/JCzf/UyIINKQvCgoiVm46mU47i6a5ryEZ1GzxUzylJG3 yvjVFpsgtGqrm7qIzWgvtDZS8uDs6NXMN5KzaRVPO/8V3upbXdLcdwKlVQTcRFGbEpEs q+9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771607784; x=1772212584; 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: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=HNBh5njd8v1rTdZKUoKg/ysKtzABTQul76k5gSr05VY=; b=GT4eyxh5zCg0x2/4m/NouyYVMiKT/fHFhtaAu0sm9ioWNSv2c99vSn+JVgoznQNJW/ 2yuV83r8algMIRMLyzyEZE9vLgtzompQHy1fDnQFYKA/TkUA/qaPbrP6oKZREnd5rwbA 2TyiSXxvTthq6XVm+Wi4KMRFACvnPWoBAP6FlpaF5D3YB5v7APEkxmRhPGg9HbjZLvqz /G27CN7M7ONH93ANXsVbBkz/ASXXpbnxg2WFMfoYkx5+R+BLVHAuA9Ul6yrw4/Tb4USn SfcWsqGyzTU0jFFhZ9yD/lDgfsAt5ckiQAaJf6vbS9wuYStj5ggwF6+zAEmQlbTxeRzT 75Kg== X-Forwarded-Encrypted: i=3; AJvYcCUwkc8Bj7wYoBE5LQVnS6vq0mlrxKO8SKu+XL2QuxoLVeDLYvZyqaj5SvuNpRLa3rAB8PJOrPY=@isar-build.org X-Gm-Message-State: AOJu0Yw5/x+YIbc22nNxBKmZF4ZyV+UFqnQKR4ftlNy0Oe38ZAp6tOng 7cAt8sp6lAujBQ5JxI0OymHzRcon3z0J+7piazN6w3kDlKitxKxRZjV8 X-Received: by 2002:a05:6830:4107:b0:7cf:da7d:607d with SMTP id 46e09a7af769-7d52bf37422mr261788a34.5.1771607783581; Fri, 20 Feb 2026 09:16:23 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+G46KHah1bdLwVeJM9SUbBYxEYM5QcOCGvpwqY+DW8iig==" Received: by 2002:a05:6870:d153:b0:40e:e4dd:d0b0 with SMTP id 586e51a60fabf-40ee4ddd79fls5050345fac.1.-pod-prod-06-us; Fri, 20 Feb 2026 09:16:22 -0800 (PST) X-Received: by 2002:a05:6808:1488:b0:450:aa96:3c13 with SMTP id 5614622812f47-464461122f2mr457664b6e.3.1771607782543; Fri, 20 Feb 2026 09:16:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771607782; cv=pass; d=google.com; s=arc-20240605; b=WoktzN3zAkZSyJsNAJpYQV/tknLqeLd07s6txEFgZnwM/lpQVraeSyGIYKPG5rd+cF kKA+BjKjmZ+MASXthvZ916ammwwGc0PUUreW0+o4PVv4GJRGsCiZRFdlZUcB2q4SMHcO pNMNMD9Dr7x8GijgRwwoxbGm8q0Am1fU0JrKuPtMn4IV++wRHmL6xhEn5759f30y0oqz iq1FlvfSm/kpxQBJJ7xVvaU3fBMRiq0gVx7VlIS2I1iPnTuvUvd6zQ/HD3fNPxr3wZPy XHoFf1ha3j0+QxtiNfJNIPNxXnID6Ys5f9IILBIXXaMHCxEPYqEwjA/Fr2fAfMNyEPdM 4DgA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Ol+r36iJFi/DEvNUM0nVR7ezBMcSMI3O8dVW5qhuYDQ=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=a2T7v7jx55xRqF0aReYmaD0U2ywBztGN2gnW5VJ9qXRwcotCZsXEFEUmNIAq2pjJ1y ncz5y2Y2Q8qBYXGLnGgN1YgoNtCOrE6SqtiQNuvB2jUdCmEXlTYHPjdlopA/phIRbeDh XX6B9UzpvFO5BpmUNr9wms1l8ig77GGaHRK0nqNttNRUI4kRqtc6ndu8eHurlntoqiFR XDYC6D+ZqnTUsV7zVs3dR5PWyzARJbvqYg7iLvjyPX+rYQjzq0PynyzUFJwrVsusYNVa iYz8AZH+tVNuW7hDMCaUTkZxEW9w5N4y9YNWBQ5DeTtK18LddO/oX6tCWw2Em+ZSRRKw 9e9g==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=X7s0JPOQ; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c20f::7 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c20f::7]) by gmr-mx.google.com with ESMTPS id 5614622812f47-4636ae55f7bsi1149069b6e.2.2026.02.20.09.16.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Feb 2026 09:16:22 -0800 (PST) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c20f::7 as permitted sender) client-ip=2a01:111:f403:c20f::7; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tDVRrlCUrchOteB/16UVidHXBxbS+UzmBLgSxPsv1+gMir+jez5L6sfNcF+nlTx23SyyUEfXeO5xI+XqQs8kmw3wgl/exgoIc1nv33sPF6GKuAUGqC2S0qnhCh9akKqRE6l3uZQE/cBd2Nlg6QaB8xrbqBn2e4sVx0RVXwPLcRaVLuvZu6sXXWTKTSc1T18BV7P2FCsnhJ/wqALa3KpS84yxvZl0JTpj/PFPpjBGR0eg5ypRsXzYGyWd9e4ni7XBTri4KDIceTbQmjUmqFjLZb0xq+menXMitvkUOGiCFWyZNgLGST+MW0X8koUolkEHOEFx+Yz0aWD+1++1hlj8eg== 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=Ol+r36iJFi/DEvNUM0nVR7ezBMcSMI3O8dVW5qhuYDQ=; b=rf3RfFONOrg8v3YtzJhWSK3HrOJG0xLpJgFfJdd+HNvIAvH9SIPE4MkJkH+KkJVTn/S7bOslboZCVBsldH/+iss4Bnoi+Z9tyeF8K92a9n0HtwRIkJCoQiN8QpF7Tzgrrbbs2sb6aZheRhxaBtxhs1wKJnGOinA3uXXBdjpMsp3it4btfIjdK30ClvlsI5lR2LFRKXvf7rf4seKAi26/n97ogWa7pQPUuAAhvMfH2Td/WtEG2MmdW8arorZ4ctAuz0JJFLK0OxIsv2vgIOr5M3eb1X1j2335h1jetFzycKnshJKEp28AMTivXQC/AKFDGad85tbEi82gVbmgdBRchg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:47f::13) by GVXPR10MB6007.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:17::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.16; Fri, 20 Feb 2026 17:16:17 +0000 Received: from DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM ([fe80::9412:cd7f:3f72:92ab]) by DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM ([fe80::9412:cd7f:3f72:92ab%3]) with mapi id 15.20.9632.015; Fri, 20 Feb 2026 17:16:17 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [RFC v2 09/19] use bitbake function to generate mounting scripts Date: Fri, 20 Feb 2026 18:15:51 +0100 Message-ID: <20260220171601.3845113-10-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260220171601.3845113-1-felix.moessbauer@siemens.com> References: <20260220171601.3845113-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::22) To DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:47f::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR10MB6828:EE_|GVXPR10MB6007:EE_ X-MS-Office365-Filtering-Correlation-Id: 2eaff351-b9c6-46f8-7efc-08de70a3c1e8 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: YQae3TJWgkIAtuPThzEcoWBz61zFNFowfYI2wA8WrZ5dlnaLM1dEp1ETPj7vkbKIJDpY/cU0nGhItrwSh9iiSPbiB1iETUL+ZdPHxgrTYKMaqnpUZ0ZazwKBJVT2zZvwyxaOoclSoT+7p2ngQkSkGuC3XzpXA7j1xHcsCALlxXdSZSyZHirBtoKqNGs9K5qD9Yka11DXAgFxOnkiKzWsW7jrneN3SJhXBBJM6PqNf9xZDwSffwJTIMcg06kxPrwmPtbP8OJOgr4j8zwnGLymsh1DRaMjgGomaQnIPvQewY2YCsJp9/A0MUGgVqXlNnCc7leShiJWJBQj7JxN5EAqq88itbNeCEdz3hhsuYKuSX0ca1xLwar2JSQ+ryaiBGrBsjB4/4nJbJU36QZFTR6JVZBA+kklTeiVxtnE8xu7vboVs2UXxoPTwrf8s2QFCoo7//bPCytwFixy8lf4Rq/COBuHXt5BMP+anM+UyCMz/ISB/xIZrTeZmGMFhJKj9mWjy4o0HzlOGY4DXMwyPMXGUExvV6ZHhAh10tyWHAxaUwJqc+ypuBBRqDhvYCM01RGxY02Xi7yuasA7xd1GN/Xhq+BodNwV8OjQR9waaZ+42smZqRIZshvwI5OHU+6ouZnWg9oGkHdB6HcoDaZW36ZqiXwEGsGuZx4BKdO4xVOsRAiI/OzXbb74Hvf3sGquExKCLs6ez6LRXL2G2xiRyjpjxlb9JT4oa/mRZOzHnn8s2CYmn8mebYVY2iYZpB/+b0aqHOarmYsMYHEHa1u03QIFbYqetCSI+JA7ySMCqiFgYAAg3ZVx58VqCGBho4SVKxRQxbTD3D0+bjGrAm53aEuSyDU0UXBR5weu0SlentC9HSBRrpCCMjn3lEcl5x78p2n/NJklDFoX703o8gfkIhKIpL0xxGnW7nKHWUysuUDrRoOdGslyu2oaQbFbLgzyQjipQowE2FjrpuEErrvgF4kwl53WlhCYzz+5wScqfc5KC9vorH/BebTzU0KMK0Eu5dbn7xLpDxsWPwLfrKTu2wLezVgqNdaAbAIt2sIGDFkcH3kEckjGUScioICntoBoPm1OEgAEx5eLr/G7jJPESw97Z0tU5MAnDNywb2yY8fSsldDluL0CxWW6/dV0RCP8thElMF8zCLeN3qSLQNyPdwNULty4devcoQ5hGYWisD+hyftNNuY8elN6rR1Hsrg59NCSBbLtUVXcH5V4dKWKxkzVebvAewurLVGjLNs+YQKt5WNkZBgcOtOX9UrEhy8tirY4bC1ofrQ0UDqPADjTTX8bFdw7HJMrn7IA6WYrDXc7HISeH8c9no4yTM8dX8FTsmVXNwU0ykEpEG17VRsefc4WpnLvm9fP9JsIA7fsSAJF4Xljk1AunfwmjcK3x6VTdjLVdU7ZjVK2UFy+FVbzxYiFsj3Du/Ywalw6cL4BSGX8+BMgOr6zFfKXSGsQ9MCeCd01zB3b7+aN4CesSrg22UYY0EdcXfjbGN2X/CCCG53Tx+uD/RnZJ7YlFqY+DRL28HHK+4X6Z3JNIhVZ6vG0mur395pGFbN8c8TtBzLG4FY4COc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9iCvl/gfpT6DrOGk+p6SbkobpJia8aYZACh2NKvylyVmbrbow6ZvR/cgySriASCd7cSyjbBm5hGDneEp3CIVCjAjtu1ZKxN0a2ABJgbNN5qc31K9AiUJ3Ihp695KmatsTk0bGXnk30vJ0KssdFaD0d5nlOdctdLE9pGLb3c8VFM9DM/3hu5gF/GXKIdWnFSv/2hqpGGM4cmcgsSG89cj9i1YcF/H2ojcrlcTGJIsVf7a5FYuSMuVkZoQQeoTORvdKs0UCbtCJ3nNy27PKS6mE+up2KZh4mGuKYh5H8FtYgWjRhaF/vgj7QXD4/DUHzIQvk3URzZ1Bjf6NDmUtjieEPbzlun19jM6oFfm4gVcmpH2J/leJxlIvlcp8LMRJ0My5fswVd4/CoMu8ZgW6zxOj9ZE08Se1z+KqNfKzc5m/TBtZaF/Q25327bLL1cvXMsOBBz+b/GDnCtH4Ogtm7F3eJc6kE+kabgTOzXTsN0qaSZFI+iTv/jK0/k/SLZx3kExRHLMlELpFEh2cYhN5SFIP4Qi4zVZGjDN4UPXQhS8unNUzy2a00xg7M5OA5lEi31u/dcBjAR/wmRqY4WZjvSfygzstmT0GDHMcDsUeM9ojgq8g2Jn39VxYRa/9WcNZprqtXkEEuRtn3+QYcxnbfG9LdyJ+VCzwF0fcDVL/rSZIteeNPKTkMq2S5hGvt1CrJ9hhCynQIAQ0/NP7HGwYMmxKQxFtjsvb3J8gie/b2sFuFuqrTRwpEYZNUfG2BLClVaqNVW4wwhlko+G88OdTl7BVcfZOBJUV0PEM/tMu3lYEIsmxHO0Aoh01SCHMq9kMFuS031zRt/8Uhs27Y8q+8jUvt8lQgdGEgXv5oVvRH/O7Vs2OlDOSzWH1NSW1WspF7qWO4kS5BfjtU8q75bLrTipb5l/V156mzBbFLyVnF+WjsqUwXxEfghsDCzR+TlQBt7FXhMlMTxh0RaZOMXrmMuD5gDjVosAt2dq6A/NxWW/THIfvT+Zu3sMT7wc6i2wZNygwhXhZM/+rZxwG4pOOKWNCmphgu3Eq567uZHy8jYmvCthmG1d21eTziJemlcHAYllW1EHjP4lcz83g0Yr8beMjsIWGZA83KEljsT17kdnWjLEaHuLqfaTXeVyJ8YKiVU/197VEIasWtvcow2ujd+VarpyknOUq8YR0/YemPWC8skgJ5/e+OoNP0M4tC5M5hcyVu982STFSVTevG9HI49j8XY7QhUhB7RcbyWhq1wLPK9Ec6ilLp13QvRFXRDghEBMalOjyBt7HQa7XOUuA8Aoa4+1svzwdb1bK+8fnot/HiaBKh+WYFXrJRToRqekP2auWZvEmtU1Xcy+kzZHGdSnqZmhzpdE9QomnpsyXXPp2ir/YzsYxYR7fNBAw/r9O+cvVboUfAev2XTx1NYN2pRGtr1tyYdMWzy6s8e0RFSUj5YUB3Nv7QIS8Jss+/4fyot70vRr3PMF92lnfRdLkQQVCV4dnbPfFzdondP5FtQRwJJMR86Uk+DXxWSFeA/4pTYHKfVfpQrF7rhIx+AkxCQY1y7qh84wTHHEvl8jRPHtGoFG5mKWOQ4LW2Nz7ZsfpiMkFF5hY0sqGi06Mdw6f3dDn2MsbnpwDBQJVeYqbqiI35ISPrQgUUJrmES39pHV6nivGvOEdsbeG/M8z/1Mp8eyihtrk/yewOP59WXNs9mRMYCqr746Dc75J7sD59AqZpRFyb6lHwoHsTpOJ2bRtpxdaRlIqmvVcGkENJlmO94wC5Y= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2eaff351-b9c6-46f8-7efc-08de70a3c1e8 X-MS-Exchange-CrossTenant-AuthSource: DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2026 17:16:17.0023 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CWjh1jOJ1Bs0OAmU/444en3Qm16YsS+5TPCil1w+PmfLiT/K91mj8b87ycoFd5oGtjuGE88Xphw6dqcMIXfiKwygCPjT6WOfYVTB/XmMkwA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR10MB6007 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=X7s0JPOQ; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c20f::7 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer 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_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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= By introducing a bitbake python function (a code generator) to generate the mount shell code, we make it reusable within here documents where external shell functions cannot be called. Signed-off-by: Felix Moessbauer --- meta/classes-global/base.bbclass | 18 +++++++++++ meta/classes-recipe/rootfs.bbclass | 49 ++++++++---------------------- 2 files changed, 30 insertions(+), 37 deletions(-) diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index ad3b616e..730fd0b4 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass @@ -388,6 +388,24 @@ do_unpack[prefuncs] += "deprecation_checking" # Helpers for privileged execution. Only the non-underscore functions # shall be used outside of this class. +def insert_isar_mounts(d, rootfs, mounts): + lines = [] + for m in mounts.split(): + host, inner = m.split(':') if ':' in m else (m, m) + inner_full = os.path.join(rootfs, inner[1:]) + lines.append('mkdir -p {}'.format(inner_full)) + lines.append('mount -o bind,private {} {}'.format(host, inner_full)) + return '\n'.join(lines) + +def insert_isar_umounts(d, rootfs, mounts): + lines = [] + for m in mounts.split(): + host, inner = m.split(':') if ':' in m else (m, m) + mp = '{}/{}'.format(rootfs, inner) + lines.append('mountpoint -q {} && umount {}'.format(mp, mp)) + lines.append('[ -d {} ] && rmdir --ignore-fail-on-non-empty {}'.format(mp, mp)) + return '\n'.join(lines) + def run_privileged_cmd(d): cmd = 'sudo -E' bb.debug(1, "privileged cmd: %s" % cmd) diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index ac50156c..1cd492c6 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -49,6 +49,16 @@ ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" # path to deploy stubbed versions of initrd update scripts during do_rootfs_install ROOTFS_STUBS_DIR = "/usr/local/isar-sbin" +# list of : or mount entries +ROOTFS_MOUNTS ??= "${REPO_ISAR_DIR}/${DISTRO}:/isar-apt ${WORKDIR}:/isar-work" + +python () { + mounts = d.getVar('ROOTFS_MOUNTS', False) + if d.getVar('ISAR_USE_CACHED_BASE_REPO') and not '/base-apt' in mounts: + base_apt = '{}/base-apt:/base-apt'.format(d.getVar('REPO_BASE_DIR')) + mounts.append(' {}'.format(base_apt)) +} + # helper to compute the rootfs distro also under cross building def get_rootfs_distro(d): host_arch = d.getVar('HOST_ARCH') @@ -154,50 +164,15 @@ rootfs_do_mounts() { mount -t tmpfs -o size=1m,nosuid,nodev none '${ROOTFSDIR}/sys/firmware' fi - # Mount isar-apt if the directory does not exist or if it is empty - # This prevents overwriting something that was copied there - if [ ! -e '${ROOTFSDIR}/isar-apt' ] || \ - [ "$(find '${ROOTFSDIR}/isar-apt' -maxdepth 1 -mindepth 1 | wc -l)" = "0" ] - then - mkdir -p '${ROOTFSDIR}/isar-apt' - mountpoint -q '${ROOTFSDIR}/isar-apt' || \ - mount -o bind,private '${REPO_ISAR_DIR}/${DISTRO}' '${ROOTFSDIR}/isar-apt' - fi - - if [ ! -e '$ROOTFSDIR'/isar-work ]; then - mkdir -p '${ROOTFSDIR}/isar-work' - mountpoint -q '${ROOTFSDIR}/isar-work' || \ - mount -o bind,private '${WORKDIR}' '${ROOTFSDIR}/isar-work' - fi - - # Mount base-apt if 'ISAR_USE_CACHED_BASE_REPO' is set - if [ "${@repr(bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')))}" = 'True' ] - then - mkdir -p '${ROOTFSDIR}/base-apt' - mountpoint -q '${ROOTFSDIR}/base-apt' || \ - mount -o bind,private '${REPO_BASE_DIR}' '${ROOTFSDIR}/base-apt' - fi - + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS'))} EOSUDO } rootfs_do_umounts() { run_privileged_heredoc <<'EOSUDO' set -e - if mountpoint -q '${ROOTFSDIR}/isar-apt'; then - umount '${ROOTFSDIR}/isar-apt' - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-apt - fi - if mountpoint -q '${ROOTFSDIR}/base-apt'; then - umount '${ROOTFSDIR}/base-apt' - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/base-apt - fi - - if mountpoint -q '${ROOTFSDIR}/isar-work'; then - umount '${ROOTFSDIR}/isar-work' - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-work - fi + ${@insert_isar_umounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS'))} if mountpoint -q '${ROOTFSDIR}/dev/pts'; then umount '${ROOTFSDIR}/dev/pts'