From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 15 Sep 2026 12:02:00 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oa1-f64.google.com (mail-oa1-f64.google.com [209.85.160.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 68FA1oMP002020 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 15 Sep 2026 12:01:51 +0200 Received: by mail-oa1-f64.google.com with SMTP id 586e51a60fabf-46a12cfc288sf7634683fac.2 for ; Tue, 15 Sep 2026 03:01:51 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1789466505; cv=pass; d=google.com; s=arc-20260327; b=gjahiRG+QFHN4Imu03cUzXU26jdLdZgl/RD/ixaldst0aT3AUkcLiK6ADaB8zyCt3B o9OE44MSJ/q14uiloGtLnjKqRw24EQYOMViaAtD7i93rw8pL9jQoFNB8bKOx/KG+zewR DAQDSpypfVI07c/YHDOWoNZE0ZcJ5sUtkOwjIQrXpMmkdlx+S5xnQPscywE3Fl65VWFe QfOW9I+lDehZ7S5rCtm7krzqtFweNjeBuNlwnklUFZaFrbgqHdup8srkxJUzmZUYpChq SdZvDKBqUwOGBZEaTkKB+Q1iLXOkgLLOIF6gpbi1lVQ/DCWj5efoz+bkMs6saujPO0/c t1Tw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; 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=K+DPzdwe+Fq9jHr7wJG8h+inZVbFlpgoHDvmqAblqvo=; fh=HxNvtOwekUyvadh6AsPas2ZtlUKZAE3TE8ZIxcSz4nw=; b=XBE4Cclf2qEy7tCvyfnFjEYwOgcFl1VX+V3jZkwLOFmPQk2rPmUDI0Oj5Pp3h+sxs5 Z9n8DKeDcw8PzqWB14q+3zsd2aweCt+qDBaFEr8X/mPtWaX5EofLOaxU08oqJ8cd2r4V Qy+f6s7wFdUPZy4feYc+v9vW17vvQjBaJnKbybkg+v9HoOMhWIiSbj0riMa2KQRUa0hp m3du0gnzezhDOfwl7LKPI5x+mFbdLvY/8qCARuI7qT4y9tZQEGHI8K6sK3nnjsvR1QQ+ 525U5QuOZP5HtqYx3j6bLQ4wLjoNnv87cuX/+IIBdeJMBADAKm2VCbbrhXVUS4Qz5t7R imqA==; darn=ilbers.de ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=tX4GCN5i; 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:c200::3 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=20251104; t=1789466505; x=1790071305; darn=ilbers.de; 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 :content-type:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=K+DPzdwe+Fq9jHr7wJG8h+inZVbFlpgoHDvmqAblqvo=; b=dBBebF7p6EnNElpQYrPAIRFBrYI1LCdIUXxUy7UKPL6qsX3Tp5qAu46QyWBH75N+x/ tv3NnvYtbxpRvtciMFcCU2t9I5UrMYVJKGKXyUnJjkpiDukm7zxvRLMWj+rpBwd1uedP M/+WQsVBVrgSS3W/0XOq31ZuO4IlEqIdE7kN7sr15ckgU+lVWG9raa4aWuXHwfmeufEY fV0XWn0mve0rJ8xTHhsympV4vf+x4O6IFk/T0MR9Lz0HLXzcTXgmENybXWURi/XGxxmg 8XGty+jWpkRGvbkfxLPkQsSUzN8kH2yB2OTkw/cjxjBFP7+KHm+OdHG4s/vg+j9e06vS R5FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789466505; x=1790071305; 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 :content-type: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:content-type; bh=K+DPzdwe+Fq9jHr7wJG8h+inZVbFlpgoHDvmqAblqvo=; b=Orm47JeBOc3FtcnAgHUgnBNcKA4Jodzn4l2WSFHGWLYjhVNJrcAI+s03XQsxXDkNyw b/Ilduk4LEbVjkSCnOKZ9FlEWn95Hlc065i01R5DeGI91c79K7FUV3RRF/3yUJMiE9e9 hxzD2X2JJ9xtRAYFwdWwUsOTxdallFklKlqxyXGFRk5JAAP7IDMJJ6h6DUFTZenrLzLt alZAHwt70d4hOFEqGYFIY6ONQwwj7FwuKTjs3H1Gmuqc7oV4ejX6Ue4C+uxVCm9qTz+c mHjXFlmE6m+vMutaAe8zh0skXWUc0Q7SBDqRpCPJgXfgLZUrzReeUbA7C5uXvxOKvg/s zPtA== X-Forwarded-Encrypted: i=3; AKwUvBwj6QzpBgOFyJJL3bMcFjZBgLHK5cophOWMSwxn+kNqi3O2h5rnFkER7fO4QaXYgLHVQ5tG@ilbers.de X-Gm-Message-State: AFuF++lzGJN5nmY5/ShuN1m0Tk2IRySf4Or7FRCGGaC0lYtYz5YcuxkI TRkOea9DWE62g8/bO4yQhj6vfd42t2fS2n+HvEL81crUtBuL64ZBgauA X-Received: by 2002:a05:6870:e24a:b0:45e:25a9:5455 with SMTP id 586e51a60fabf-481f7b2610cmr7908529fac.2.1789466505008; Tue, 15 Sep 2026 03:01:45 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdfGjcAyo8F9d9LD7/tS/38utSLyLSDthEIJdPKmi8WfBw==" Received: by 2002:a05:6870:5486:b0:47a:cf0f:6024 with SMTP id 586e51a60fabf-47c86cbc97cls5496158fac.1.-pod-prod-01-us; Tue, 15 Sep 2026 03:01:43 -0700 (PDT) X-Received: by 2002:a05:6808:4f47:b0:4b2:8d9e:de11 with SMTP id 5614622812f47-4c7b616c2e8mr7332748b6e.19.1789466503533; Tue, 15 Sep 2026 03:01:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1789466503; cv=pass; d=google.com; s=arc-20260327; b=IeGIBdPggCfSjmmIrKbD+/L2EQgZ2hfnOhXx35TBzsbp31aMrFzWCjkDZRmjx2nLTP DV4xA/7Yu/fLryrXpVzgn/Zgqn5FA4ELP8oBiuzN05bURLbMeZbkOGmCLD35VUeQBjGX D+Z1lkVMxskg4GNXsM+X9xp0FdNi7jMcbMGvMpUhJqt/Az49Dla3vXCo360C5u22wOgM 1zWJkK0zJksqUePtRRsieIWD3LZMHQWc2ZixB4yhWy/vy6R6cnxkstnCZLEzQBTuA49C wMhsw4dgrc9IFCgPxrQWYL28+jy+aHnBeCVdIj87pmEJZROcCnWqtTc15v+AUkAqqpBZ XedA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ozj3hKY8b5QJ7OcdWpSJF1oyJ4jWR/yrS6ux44Ccfaw=; fh=FYARRfYWSZi+xaBGHs/WkhcniURPXOu7KAfLF/5BK1Q=; b=brVAKI4bjjBlMXFOlAYNlFt2F9DkYkQoKxjWmu0Oe2pS/W8JwYxzSRaLFnge/AzHa2 zKwDrnVv6k30dQJyzcssqMoHNip3IA0W+l08dWSgyDAUX+uiKM5xFzyMEVtmGQHmYLKf W0DqhZjSgP0/s5WTmW1tZA1EnzKP7mqnk/R1XOEK9LUFXBOPnGogH3CpqwFiq/BqgQev Yr/v3f3Gmn7k5T8B51oYXYzuY9H+ATD5qBZCYpYlESWEbv0yh+YJnUbS85JO44TlwLH7 CSWKG3uXpofMLPOdkDPaIWjLyGiGow1qRKSkoQhGIiE6WBXiAG1vATHQ07cbVIFsJaaa n/Gg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=tX4GCN5i; 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:c200::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c200::3]) by gmr-mx.google.com with ESMTPS id 5614622812f47-4c62baab720si207347b6e.0.2026.09.15.03.01.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 03:01:43 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c200::3 as permitted sender) client-ip=2a01:111:f403:c200::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nbDlyTjWtatL/7ZFr1tky1XHZSBkj7PNbiVXvAEVilwWmIlq42gGjjzA1MFfEqZzlXG1VRb6o7ZGhMRZDem0n2dqlmg2qIm3khX+i3Jj57WqkPxbhfwfjZub9KI0g7N1RX90Yb+gthAFs44w6uriOQ9wGtTymxXcvO3viopER2O4dvuvaW7jgApx1j5PpWKU1aIo7AA7wY9j71TG+IFGwCaVSCL+HC1sOROeYxhSbfI9lIWUtcjlLf9U5IEyYBoy+aN2u8TDZVIkwp3YdJ635JckCMlONu/6ONalRhrhGCmUmHO/FxJvWjNTQm94ZL76oAhEeSOmgZGO3/lMpXYoCg== 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=ozj3hKY8b5QJ7OcdWpSJF1oyJ4jWR/yrS6ux44Ccfaw=; b=m8TfJFLxcy0odoMu8l694s4SH/sJEol9FvgXB1oMXUl+s6PbuND7BUI5L2idBUXK9io89LsXBIgU5ur4k4RxcpUrJcYX6eMyx9sVqfkEGFAu4a5WXWFqtoV+vAv7kancIVdgI33NVnamLXjTNU5e5guFGpZGNV/TCFrgkSKcD7uruC+yyq50iyJ4SutLGH8xrMUIw1vWJIJsMXdeC/zmX9AA9hmbPHkdFubMO+e6fb0NxgFqZ06g8Br14czXdC0ZWVsTX3TjQEc3yCf+UU99dIo/LuwplAfvVF8ftAdZ2pGL33UAkCEXUuwOwBJpzE84TNxCH18ib465tX+brwMbHQ== 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 AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) by VI1PR10MB3517.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:136::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.9; Tue, 15 Sep 2026 10:01:37 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%6]) with mapi id 15.21.0406.007; Tue, 15 Sep 2026 10:01:37 +0000 From: "'Felix Moessbauer' via isar-users" To: isar-users@googlegroups.com Cc: quirin.gylstorff@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 7/8] dracut: add support for cross initrd generation Date: Tue, 15 Sep 2026 12:01:24 +0200 Message-ID: <20260915100125.1991311-8-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915100125.1991311-1-felix.moessbauer@siemens.com> References: <20260915100125.1991311-1-felix.moessbauer@siemens.com> Content-Type: text/plain; charset="UTF-8" X-ClientProxiedBy: FR3P281CA0086.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|VI1PR10MB3517:EE_ X-MS-Office365-Filtering-Correlation-Id: ff28105e-5e05-4e82-ac6a-08df131053ef X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|10070799003|23010399003|366016|10067099003|11063799006|56012099006|6133799003|3023799007|18002099003|22082099003|55112099003; X-Microsoft-Antispam-Message-Info: q5OudF1CrBiX0ha6rr1x3PIR9Uro1CnbmM8c5c2htCRTkZQj/IvZ8HRRj+c2zgsoi4pxClLMJwxjIhg63UHr72U0bZIYNk6/T9KACzKM7FBsjyDL2KavlcYEws0KBE5+7upmCP/yCzxpRLWERKt4MVGaOrXQ+nV+N92YQD4l9J5ATLJFtgnWzXnR7aUtOwf+hXcOY0lk6DTR8koP3OvpU8yohwIsGnPxi80QVOItVH7CaIrgT7uEyOX3Tlhsk5eSFN/BGUt8jc62GSPBYNjShzSIM/+7b9Lw7gMj+nCfMlfvnVTy0rf/KH7u9EnNUVgceU+G2KyJzvwtssAI8e5y56thSd+ZKzWh1CUNyoWXqpahXTWXXK8NqRzdI/h0PO+l3hYKPA17+AdVVCs85iWHJkIUjWgAtmAA8u84QTM0RbnV4MAwGhxeQLAPWNBE5IKiC1JZWyEewnRl+dSyVEq3AtM1MuikUsV85N8jXm0IPW93gj8Ex2Vg/nRcIMH8u4uz4sMyhxAdcOD3rC0KZoXFM1iOF6l9C9H7EjsVi48VVPjS5gv8u8h9kQosVFi53c79Yv+XEAlVhy8yDdgUKXXJ0SxcNlNQu33IhQxyRB2qtUep5EPZsjUle73VjgVAbyfxtK+uKfPvTzTugZVIFqSCd4+OuGabc6Fw18vDy75i3fg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(10070799003)(23010399003)(366016)(10067099003)(11063799006)(56012099006)(6133799003)(3023799007)(18002099003)(22082099003)(55112099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HY30e/Jhyu2BI1lYw+FVSOV66SjpazcWW+qh2GKVk1XAZiZnjbVwzBPIFbcb?= =?us-ascii?Q?/fVhSYRBwl2LHtvaiMB7xgVnMdPWvfQcnQT5IIKr+B3s1HO27E1eCLGeyby2?= =?us-ascii?Q?jpHnkT7qsIOuiiay8dfwrGu5AFB5T+pir2ZgwQuF/1mPyIXzNjq+yqQH8ORB?= =?us-ascii?Q?jOh5D4X9SlW6YjEeHRNKxfi3GqsbxZ3fssNWyqNf7L23PMLE8PdeKsVbDxTl?= =?us-ascii?Q?QOaAajf+vC/NQsyXnK1Zf8QYhHvzJ9nFKiwcQeLIjNktsyXhcdQDWXu5DKhN?= =?us-ascii?Q?nBFIq4AJ8U9n3MVfZ8sdfp1itmV/zj+KvVqR+v4leYuvDR+hg217llpwN9tD?= =?us-ascii?Q?jrT6Ka7L3glfEjyn4GhohRdexfcH6ZmoZ/y9svul+pUpNDSMjLe6Yh4C/rl8?= =?us-ascii?Q?1HaBfKJQmlW47AcZEwm112PqHqDBOBUlWmlGoETzAR2v6qYbA9OdtBOOJpCs?= =?us-ascii?Q?V1NVx3WD+ibVFONxJJWilDw7df0uk/0DyreS3OXsddT9ubMsCvL0Ee0N8JFI?= =?us-ascii?Q?8Gg9favaSSFblyarw/4TQsS2T8h9BZHO7TQtawfa4S06ZbOzHYjLPmqjXtAN?= =?us-ascii?Q?+g05q3DcVcFU5oFha7rkF6yZbii1V7xmuXb0F/MZuKpDiVIpyqt6oYAMfqtM?= =?us-ascii?Q?H7sVrARh841jcc++QMHQyU3jIcafn0dVpFvlO3lDc7cX6TySdkgzF3a7CD2Y?= =?us-ascii?Q?WX6MQrtmIk1kUV/oaadq8F85uUcI2VWVjCS7jgh9bw1xdj6iJLS3AEBUIZLP?= =?us-ascii?Q?JHzuPVD0Wq8pud13UVWOi1duEVvzzkPO8G295q0Oqm1zydgcGc/G4G/+Q7eq?= =?us-ascii?Q?hgAGovaGn2ORfnsUo8Yyf2f/UwqjPxgvEHUHw3pPmKz3yLXY2eQ/I/U77yLK?= =?us-ascii?Q?CXcfEoeFGZezJ/nViRSsObBUM9gqZRpWv8IzGVyrZBWjqSoRHXt/md+fFkW9?= =?us-ascii?Q?joMSll/pZdncDwNod7jm/tAPmLZya2+zCkKE64ynQrGSESETVkjziQcW70rj?= =?us-ascii?Q?p6cFi4MrHEsoFcP12fstgFkL2AmrdDewOnwIBdd488Rsv0NHw4r3cuXAAUtV?= =?us-ascii?Q?PKbaQ0U4wvXwuNIvdbgDj7c/2ZfdbXSaNsyAxqVCJcnESqtAqbn+ryYXrUKb?= =?us-ascii?Q?GRZXnP52fp/FBX5WolafKEzG0GBXgG49YuqHuRtHy5orMZGhqT0bMw2ILV34?= =?us-ascii?Q?cQohOWHJLdV3Hayff0CypgrUYyk+LRSqueX66D6k2CEzk3pRkrUfRLhFJ+HK?= =?us-ascii?Q?KFcWfp0PQGsJQ2N0ZKXklbblfSo32TM60zjCKldmcf4zp4iTfDeXBDnROJ62?= =?us-ascii?Q?GzWCFqdkLJoP31GIVzeD8vd0KDcC4D1AsQyczG8b6EACpXH3FoKwhd0B2JO/?= =?us-ascii?Q?Zyks00WCN2vcOr0v4ZsvAOnCR1Pbjvx9l2P9pc5IPoncTpKuMTMVSTTlj8iw?= =?us-ascii?Q?ah9ICXe3os/5T6fuDvh6FgQTf+OU8NnN0+Exw57gJEdO2q0GhFq4bDqCEf/Z?= =?us-ascii?Q?kczbmLLbVkSLqAWy399sdR5kVSKvoPhvvvUZqaFz2Sd/ZAjW6QxajoHAq779?= =?us-ascii?Q?xxj4695OXgLU4h8b6PMd6skIgAUDGjaN05XxREhiTsFnw+mh7Xm5H6joW97A?= =?us-ascii?Q?T1m2aH8+jvOA9eXb/eKQEgmtm4jjW51w6u6FuRCWdpHvDUYyfL/b6cOTURjy?= =?us-ascii?Q?pToQGo24Yncp37tUUXxQCX2FqyTE05X9xePQulOHf4y4KKo1QcY02PeexCy3?= =?us-ascii?Q?bFnIQ0w3+zgIetG6sN9pO1bvGSRIJW539XQ2sV4xROwz73Zge3CacESFyVsD?= X-MS-Exchange-AntiSpam-MessageData-1: KlWSbcRWjg6G5mY8sXNs/81cgZkGWobVSbs= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff28105e-5e05-4e82-ac6a-08df131053ef X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2026 10:01:35.9879 (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: 4Fu83DJ8vCAjNxL81IdwggleFRBGzTUBVvIn/P3ZPpX0uUx6H4L3UTFZb8ftSGLghqR14tku77nhULFUURkqn2tUccWjc5O+u3KU1FRdCnE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB3517 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=tX4GCN5i; 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:c200::3 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_NONE,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-TUID: kkwmZifptSh4 For cross-initrd generation, a cross variant of the ldd tool needs to be provided. As there is no such tool, but this is THE performance critical part (it needs to scan each binary and all transitive dependencies), we provide a custom one which uses readelf to determine the shared library dependencies. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/host-tooling.bbclass | 4 +- meta/classes-recipe/initrd-dracut.bbclass | 36 +++++++++- meta/classes-recipe/rootfs.bbclass | 4 +- .../dracut-cross-ldd/dracut-cross-ldd.bb | 16 +++++ .../dracut-cross-ldd/files/dracut-cross-ldd | 65 +++++++++++++++++++ 5 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-devtools/dracut-cross-ldd/dracut-cross-ldd.bb create mode 100644 meta/recipes-devtools/dracut-cross-ldd/files/dracut-cross-ldd diff --git a/meta/classes-recipe/host-tooling.bbclass b/meta/classes-recipe/host-tooling.bbclass index b76f8898..5e81dfda 100644 --- a/meta/classes-recipe/host-tooling.bbclass +++ b/meta/classes-recipe/host-tooling.bbclass @@ -5,8 +5,8 @@ LICENSE = "gpl-2.0" LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" -HOST_TOOLING_PACKAGES ?= "" -HOST_TOOLING_DEPENDS ?= "" +HOST_TOOLING_PACKAGES ?= "dracut-core binutils zstd dracut-cross-ldd" +HOST_TOOLING_DEPENDS ?= "dracut-cross-ldd" # dependency to build the host-tooling-chroot HOST_TOOLING_DEP ?= "host-tooling-chroot:do_build" diff --git a/meta/classes-recipe/initrd-dracut.bbclass b/meta/classes-recipe/initrd-dracut.bbclass index 00999b91..ffc71db6 100644 --- a/meta/classes-recipe/initrd-dracut.bbclass +++ b/meta/classes-recipe/initrd-dracut.bbclass @@ -56,8 +56,42 @@ def extend_dracut_cmdline(d): ROOTFS_INITRAMFS_GENERATOR_CMDLINE = "dracut --force --kver $kernel_version -L 5 --reproducible" ROOTFS_INITRAMFS_GENERATOR_CMDLINE:append = " ${@ extend_dracut_cmdline(d)}" +# Cross-assemble the initramfs, requires preparation of dracut module definitions +def dracut_cross_default(d): + return bb.utils.to_boolean(d.getVar('ISAR_CROSS_COMPILE')) \ + and bb.utils.to_boolean(d.getVar('ROOTFS_USE_DRACUT')) \ + and d.getVar('ROOTFS_ARCH') != d.getVar('HOST_ARCH') + +ROOTFS_DRACUT_CROSS ??= "${@ '1' if dracut_cross_default(d) else '0' }" +ROOTFS_DRACUT_CROSS:bookworm = "0" +OVERRIDES:append = "${@':dracut-cross' if bb.utils.to_boolean(d.getVar('ROOTFS_DRACUT_CROSS')) else ''}" + +ROOTFS_INSTALL_DEPENDS:append:dracut-cross = " ${HOST_TOOLING_DEP}" +ROOTFS_INITRAMFS_GENERATOR_CMDLINE:append:dracut-cross = " --sysroot /mnt/rootfs" +DRACUT_MOUNTS = "" +DRACUT_MOUNTS:append:dracut-cross = " ${ROOTFSDIR}:/mnt/rootfs" +DRACUT_ROOTFS = "${ROOTFSDIR}" +DRACUT_ROOTFS:dracut-cross = "${WORKDIR}/host-tooling" +DRACUT_ENV = "DRACUT_ARCH=${QEMU_ARCH}" +DRACUT_ENV:append:dracut-cross = " \ + DRACUT_INSTALL=/usr/lib/dracut/dracut-install \ + DRACUT_LDD=/usr/libexec/dracut-cross-ldd \ +" + run_initrd_generator() { mods_total="$(find ${ROOTFSDIR}/usr/lib/dracut/modules.d/ -maxdepth 1 -type d | wc -l)" echo "Total number of modules: $mods_total (dracut)" - run_in_chroot "${ROOTFSDIR}" sh -c "${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}" + if [ "${ROOTFS_DRACUT_CROSS}" = "1" ]; then + mkdir -p ${DRACUT_ROOTFS} + run_privileged tar -xf ${HOST_TOOLING_CHROOT} -C ${DRACUT_ROOTFS} + trap 'run_privileged rm -rf ${DRACUT_ROOTFS}' EXIT + fi + ${@ insert_isar_umounts(d, d.getVar('DRACUT_ROOTFS'), d.getVar('DRACUT_MOUNTS')) } + run_privileged_heredoc <<'EOF' + ${@ insert_isar_mounts(d, d.getVar('DRACUT_ROOTFS'), d.getVar('DRACUT_MOUNTS')) } + export ${DRACUT_ENV} + chroot ${DRACUT_ROOTFS} ${ROOTFS_INITRAMFS_GENERATOR_CMDLINE} +EOF } + +inherit_defer ${@'host-tooling' if bb.utils.to_boolean(d.getVar('ROOTFS_DRACUT_CROSS')) else ''} diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 1de27d7b..cea85626 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -452,6 +452,8 @@ rootfs_capture_apt_state() { var/lib/dpkg/status } +ROOTFS_INSTALL_DEPENDS ?= "" + do_rootfs_install[root_cleandirs] = "${ROOTFSDIR}" do_rootfs_install[cleandirs] += "${DEPLOYDIR}" do_rootfs_install[sstate-inputdirs] = "${DEPLOYDIR}" @@ -459,7 +461,7 @@ do_rootfs_install[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" do_rootfs_install[vardeps] += "${ROOTFS_CONFIGURE_COMMAND} ${ROOTFS_INSTALL_COMMAND} ${ROOTFS_POSTPROCESS_COMMAND} ${ROOTFS_VARDEPS}" do_rootfs_install[vardepsexclude] += "IMAGE_ROOTFS" do_rootfs_install[depends] = "bootstrap-${@'target' if d.getVar('ROOTFS_ARCH') == d.getVar('DISTRO_ARCH') else 'host'}:do_build" -do_rootfs_install[depends] += "base-apt:do_cache isar-apt:do_cache_config" +do_rootfs_install[depends] += "base-apt:do_cache isar-apt:do_cache_config ${ROOTFS_INSTALL_DEPENDS}" do_rootfs_install[deptask] = "do_deploy_deb" do_rootfs_install[rdeptask] = "do_deploy_deb" do_rootfs_install[network] = "${TASK_USE_SUDO}" diff --git a/meta/recipes-devtools/dracut-cross-ldd/dracut-cross-ldd.bb b/meta/recipes-devtools/dracut-cross-ldd/dracut-cross-ldd.bb new file mode 100644 index 00000000..327a5c82 --- /dev/null +++ b/meta/recipes-devtools/dracut-cross-ldd/dracut-cross-ldd.bb @@ -0,0 +1,16 @@ +# This software is a part of Isar. +# Copyright (C) 2026 Siemens AG + +inherit dpkg-raw + +MAINTAINER = "isar-users " +DESCRIPTION = "Minimal ldd replacement for dracut cross builds" + +SRC_URI = "file://${BPN}" + +DEBIAN_DEPENDS .= ",python3, binutils" + +do_install[cleandirs] += "${D}/usr/libexec" +do_install() { + install -v -m 755 "${WORKDIR}/${BPN}" "${D}/usr/libexec/${BPN}" +} diff --git a/meta/recipes-devtools/dracut-cross-ldd/files/dracut-cross-ldd b/meta/recipes-devtools/dracut-cross-ldd/files/dracut-cross-ldd new file mode 100644 index 00000000..ef60b3fa --- /dev/null +++ b/meta/recipes-devtools/dracut-cross-ldd/files/dracut-cross-ldd @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +# This software is a part of Isar. +# Copyright (C) 2026 Siemens AG +import re +import subprocess +import sys +from pathlib import Path + +# glob patterns relative to the sysroot, including multiarch directories +LIB_DIRS = ["lib", "lib/*", "usr/lib", "usr/lib/*"] + + +def find_sysroot(binary): + for parent in binary.parents: + if (parent / "usr/lib").is_dir(): + return parent + return Path("/") + + +def find_library(name, search_dirs, sysroot): + for directory in search_dirs: + for path in sysroot.glob(f"{directory.strip('/')}/{name}"): + return "/" + str(path.relative_to(sysroot)) + return None + + +def read_dynamic_section(path): + return subprocess.check_output(["readelf", "-d", path], text=True) + + +def get_needed(dynamic): + runpaths = re.findall(r'\((?:RUNPATH|RPATH)\).*?\[(.*?)\]', dynamic) + search_dirs = [d for paths in runpaths for d in paths.split(":")] + needed = re.findall(r'\(NEEDED\).*?\[(.*?)\]', dynamic) + return search_dirs + LIB_DIRS, needed + + +binary = Path(sys.argv[-1]).absolute() +try: + dynamic = read_dynamic_section(binary) +except subprocess.SubprocessError: + sys.exit(1) + +sysroot = find_sysroot(binary) +resolved = {} +pending = [get_needed(dynamic)] + +# ldd reports the whole dependency tree, so resolve it transitively +while pending: + search_dirs, needed = pending.pop() + for library in needed: + if library in resolved: + continue + path = find_library(library, search_dirs, sysroot) + resolved[library] = path + if path: + try: + pending.append(get_needed( + read_dynamic_section(sysroot / path.strip("/")))) + except subprocess.SubprocessError: + pass + +for library, path in resolved.items(): + print(f"\t{library} => {path} (0x0000000000000000)" if path + else f"\t{library} => not found") -- 2.55.0 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260915100125.1991311-8-felix.moessbauer%40siemens.com.