From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7308563077608243200 X-Received: by 2002:a05:6214:580c:b0:67a:a015:8532 with SMTP id mk12-20020a056214580c00b0067aa0158532mr50199qvb.61.1701821059433; Tue, 05 Dec 2023 16:04:19 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6214:45:b0:67a:d8db:5809 with SMTP id c5-20020a056214004500b0067ad8db5809ls1810366qvr.0.-pod-prod-04-us; Tue, 05 Dec 2023 16:04:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IEBCFvIyAIaOEu8N8sKvjaNBXqyycUJ5VHBz4c8YnwnVwy8KqF2fAgH7JDexbfQwIL24goY X-Received: by 2002:a05:6122:924:b0:4b2:c6b2:5260 with SMTP id j36-20020a056122092400b004b2c6b25260mr154331vka.1.1701821058087; Tue, 05 Dec 2023 16:04:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701821058; cv=pass; d=google.com; s=arc-20160816; b=C/VLn/ASZm7V/wP+/k9mPP6uifby4alk5D8vBfQO1GCGzlI5pP18lpYpipbc3erB2B t9uan7dUVoxBKWgtfXKcqA/TAh8/7bDLNy/A5oGEYaFRKivh7EQSA7au1j2e1A42ohlK fo+Jqhp4DNmWYFJ9MeS/UXb0olh54B4eT3aJgaVyas4cFEShEmB5LNxaVNV9aql6/r0U OWdx5H6rZURua+U4Bh6LmqkwI2+bnO8TqyJRTUaVy8lH01B5UblEvtK6l4Asn5C5h8iY T2r5PjBdnE+VbrGefGfFDOTNm7ob32MhA8kzrqojpbSdcP1+MNn/RWaqKrGMv7tmHrAr WVVA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:in-reply-to:from:references :cc:to:content-language:subject:user-agent:date:message-id :dkim-signature; bh=fz7RDOwCAZD7KE+c2HldsTiu3P+KvlQTBiojQK0KZZM=; fh=8IOVUQ1+4QJLNke7eF+/gJG9i8CI/dDycRhw3nxMgmQ=; b=MQNt13RvAxmjgd6WWPt21OHj4eVXBOjhczhh3XPIM4ntPwkkkT+LF7aa1b41yqJQzX uogd1LaQ3gs87YRj2iQYwhTc2rMqiUQBY76L6QWr/W5CsXgVLsnW6FMarccWF7mi80jk TWqRhNDsXPWZaFUiP4CXT4CkZ1fdTVYj2WcecZt6Ft7GpMq1ItkBLbkzWUxTpqkFm2yP Dv6mxaNejCDXEuKFpb11BkZQcvZo3WhDsr/EgBVWfiiHWbWRb/+kUtTyyZf9SJeHoHLw xSvd9kjMBmgpfPPQG2iEHq84qjnLmWCa4el6bSdLKCrPDCIPt+YtBvz3u3AAJG0TcW3Q WzwQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=XnyDM9bK; 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 jan.kiszka@siemens.com designates 2a01:111:f400:fe13::61b as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2061b.outbound.protection.outlook.com. [2a01:111:f400:fe13::61b]) by gmr-mx.google.com with ESMTPS id e2-20020ac5c142000000b004b2c03516e2si951915vkk.0.2023.12.05.16.04.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Dec 2023 16:04:17 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f400:fe13::61b as permitted sender) client-ip=2a01:111:f400:fe13::61b; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=XnyDM9bK; 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 jan.kiszka@siemens.com designates 2a01:111:f400:fe13::61b as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a0iQLdITck1BVkusKLP1QKgDHXL4TvB2wmpQpMjxivJqrMDEhkqOPCZNQ+OWS2blq2N/oYWQ2w8zK/Yp0830588ouP6RAd8sIPH2koEohLWOWPykrX71iWtbQZCLyJpdcrLAujvHwIyEuY7f2h4qZf5H4SILWIBVsdEgDRBwfxWgi9hDsUdZ2U6JYMuQKBLQQsTa7YIF/puFhEEooWaNARfPKg2Cts85E68zd57a5syv3O2HHXTsGQX84y/JSslAg5utJgVA/IhRYMOuXWOSHsskFtTznJiYUrbhafNzehtIn1O1K+p8zpG0NYhgrZHwFr8vV0pUthQab9P47/4T+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=fz7RDOwCAZD7KE+c2HldsTiu3P+KvlQTBiojQK0KZZM=; b=DCxYMF6j2nPwc2ki1XptGkjbnjJNlA9z+hz7rur3Qn3qzY9X2ttVHseVgUaR93gl5lNz8q/hQRQKG8J/tWGRVdeaTKrQQuAbKc5XF+nruejQAL++pKg+njUy8bFo8eX2ylwIjhHvfci/+0J9SCLFXuMZhqiO1EI/GqQ1HuPM3FhArYqXLHN0UDO1bbANPrYAHflFSvId8i3Vmb/MULrOK9pSzhjztpUDvPldCWkcHUn7gosludLwW0qKMTjpwXgsWAUTLq5w/QUGFq18kW5VsSSZmWxFNjyQkWZC2IGioC0oMgCwt3OALMSiX/xBBrgnshEjMrIcRBP2MmtyMYBDTw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fz7RDOwCAZD7KE+c2HldsTiu3P+KvlQTBiojQK0KZZM=; b=XnyDM9bKnh2dPwydgbEgHCpJj5vXQYZiALRCKrje2hlNKiik/lclii9z1G/z/EZIVkvoroYPJ0P2goL+vRDsH51G2HGcgEiH/GqrgV387X6UeIt3SkllX9uM5ilrTtcFjdcb2zUQgUKCFkd/RDOPbN6bIC4otQBAcZRwxLBCvtNlkh3WhuSEhUNDh67atOGAsicpVfeFdH0uBQ7y9diM3rh8LhGRmrp7XD0ujf+6oIL6G9563NUyK/o2VuZwE5U1VIX+yU3HlGl3t3UYEZ/Flr5LiLkUaPZbFBpDO9lORQLfF2ZH4+SBGxNKiYKDaXmbmDUuPkGQ8RiOxoqdYJcdtA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) by GV2PR10MB7053.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:d0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Wed, 6 Dec 2023 00:04:15 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::96c7:d239:1723:8761]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::96c7:d239:1723:8761%5]) with mapi id 15.20.7046.034; Wed, 6 Dec 2023 00:04:15 +0000 Message-ID: <596d1dad-1b26-4357-b970-ba30230a34eb@siemens.com> Date: Wed, 6 Dec 2023 09:04:09 +0900 User-Agent: Mozilla Thunderbird Subject: Re: [RFC 1/1] delay creation of initrd until end of rootfs install Content-Language: en-US To: Felix Moessbauer , isar-users@googlegroups.com Cc: baocheng.su@siemens.com References: <20231204023650.1912972-1-felix.moessbauer@siemens.com> From: Jan Kiszka In-Reply-To: <20231204023650.1912972-1-felix.moessbauer@siemens.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: TYCP286CA0015.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:26c::19) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) Return-Path: jan.kiszka@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|GV2PR10MB7053:EE_ X-MS-Office365-Filtering-Correlation-Id: cd9e7db5-2b45-4748-a7b2-08dbf5eee20e X-LD-Processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: y2+s+jfbfNQvEhV/4BpUrxVltb3CuCfu2Kx6l6w0SSfJGgpHdEl8PNcxtt9lZ1J4niUBuF/7WpvpfwQuitWmuL8oUVmBYV2coeGW82RlXdk13cYcZN8Qscvo0tluk3MbRsTpe6xJ2Bw3earyRDqXe7OQWo9zETeCeHaF+dbNODk7CvdkuZPcO0IJHq/bmMHmGGbMmlrzJnUT7VyiMnlLpst0jjLJDOoRlr4Xd105hIwxWynPJlty9NQSk3DDN3JiP4t+IVBzFi9ohKzFamm0CJvuLf8lhuPy7Sm7DsXh8mYHlyWhQD0HQ/RaBncgcYVyhXeLjnTbvmU2HLMAcTBfFQqFa5sNw4TW0BvKqA9O5vlx7HZNZ6AOP6bIZZJbaN60SfpulPuDFQVT33wc9dfcCMisN0OpfHFbTWyJPvQQOZwJDbPs2PAT9+1H+W+q1XEVMj4SkFP/zl/egYYLsrWd1MUteEr4IGFAl7DIlktDvBRWc13CHbqa0NHgeLXFmPNIFbPJ/+wkisPbBvGutv6pQMj2ZV1HCtc9ycLokxZtcyOWTp2JegFpy/IrfiX+mHuPLlyOgCUgJjgfdQrvaUo+/Pb1IhRuXpD71iiW6k8a4LgWPULojasGoVebI8D2P1qFKNHq1+XsQyudwlIl6F0BRA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(366004)(396003)(39860400002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(6486002)(83380400001)(478600001)(6512007)(2616005)(6506007)(53546011)(26005)(6666004)(107886003)(316002)(66476007)(66556008)(86362001)(36756003)(41300700001)(8936002)(66946007)(8676002)(4326008)(31696002)(2906002)(44832011)(5660300002)(38100700002)(31686004)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZjJqZTV5MG1MaUdLT3FPZ0ROVTV1b3BFR1ZYZjhDMW9hN3QvMTE3SmVEMlAx?= =?utf-8?B?TFFWN1U5NWFuRC9pN242UUZjZjZHZUZ3RW5TN2gyTGZ6bmZZREszZWU0RnFL?= =?utf-8?B?dzJnZERpN3EyamN3bVFpNWc5U21CQVpTVS9GKzdseGl6VDlqUzVlbXJ2MWZV?= =?utf-8?B?YmxsQ3drNGFPRHE5elJnc1p5UHgzbi90Zm9ZOXBKR1hUMy9lNEVCRzc1eUVr?= =?utf-8?B?NXliUjZpWVNqTzkxYm1zcEtxN3JRZ0w0N05tc1Y0SUV6N3BtdjRTU2k4Vk1U?= =?utf-8?B?ZndiMXRGT21YSTJHQzJKQ24yK2FUNU9iaFM5RFA2aHlzNEVZcVZmRGlQait0?= =?utf-8?B?cTlrcmxxbDA4cW50cnliQTJSUzhERHAxZklCekZqellTakZOc29UTnpJQ2pO?= =?utf-8?B?QnA3amJWdzBsWHRrMmIzd0paVEdhQ0dxeXp3VGJ1a01hb3IzMElBRENDVTBs?= =?utf-8?B?YVN5NHRlV0I2TzNTd0o4SFU4ekR6M0VxS243dmJWcVFkSEdMVnBKSnNoU3Bi?= =?utf-8?B?RjRvbGxlK0dqMWJjK0Z2REdiNmp3YjlkNFlyQmorcmdxdFpGTTA5QldmQnF6?= =?utf-8?B?bWFCVU1NRkhnRzRQTlR1N0VEWkZsZHA1ZFJOU1ZlVWc3SjBLekpObGFHRncx?= =?utf-8?B?SSszSnVaR3N2UVpTVnBLS3hFSUNSUmM5RHRFNjRyM2hwSldOamcvb2hRTDYr?= =?utf-8?B?azFiSFNIdzcvL1U5YThSUjhJZmhQR0VJNXJ6R1F1bXo1ZXRjMGFUanNyeWpr?= =?utf-8?B?RDltWDZPVnB0aTZqK1krZGlCbjd1UmFzdlM1ek1PRjgxUjZpNFQzVjFIdlF2?= =?utf-8?B?bmM1cUFHS0R0dmp2all0bkppYmtmTXdpTGZqYjd2Z29RUy9tQkdzUWcydURZ?= =?utf-8?B?SEFrU04reVkzeVg5dTh6d2hUUlBlWDJubk1haDlINk1yOVBLdGJmaUxvQUVj?= =?utf-8?B?c0RZWm1naFYva2RoYXBxYmNXOW5RRkdwOUdZekNaOGNRYTQxaFczVDhHTVRQ?= =?utf-8?B?QWw4WjMzZks2WEgzVE55dUVnQXFkMm9xT0wwL1BWZEpWelRxRFRFRWJsaFlp?= =?utf-8?B?azFXdWdXQW4vZkNvNHIwVDcramNKd0p1VWNDQkFYZ0dEUmVINHVtSVJOSlYx?= =?utf-8?B?VitHcDVISlZmVVRPK0R0Y1RiYUEwbEVOcWpMMkJrNGZDcVptbGo3SjdZd0k2?= =?utf-8?B?YnZ6VlQrQlpCWGp1ekEyMTFaL3BiV3FSdmM4d1poMmZ1bldIOU80clRMd09z?= =?utf-8?B?dGF5enZXNEgrYUlxQ29sREViQlVPY0xTZDZEa1JjMSs2OUNhT1I5Mm04dC9G?= =?utf-8?B?OXVnZU5wc043T08vVmRBbVBqcHUxZnc2a0w2a3BqdXczM0xNMVB1cjJrMHk5?= =?utf-8?B?MGxGSDdVTnBrWUhpOHo5Q0lnRjV6M2tnZnlsWHlkN2tZNnVaS1BNVkp0QnRu?= =?utf-8?B?SE1JSHhGelA2N21SK3RDaXFZQzlVUUZxUzFmOHVENTlBa3hRUVNjS1lUSU8v?= =?utf-8?B?T20rN20veVpRVXZYMnIzcDYyN09qdkh2RTZxbk1IV2N3ejhKOW1zRkM3UHV6?= =?utf-8?B?bHdXME9GTWF0SloxajE3QjUwTytkYmlsSWNaNEQwcE5rcmlZSTBKTWdJSVlj?= =?utf-8?B?NWxIeVh5eGFkRlQrYVdkRmNPVTZWSlNRSFRTNUl5a2NnUDl0WFJyNEEvTjBo?= =?utf-8?B?QXZ2ak9QK0sxQU9YMWkrMjZBZkZxU2hFU3VUejF5bGs5eHdFSDhTKzBhSHAv?= =?utf-8?B?dFBOMVBuZVlnQTYrTExhNzZKaSthOGRGcWxEeWg4Qkg2Qkg5YjZMekRNUGxD?= =?utf-8?B?VjZrWHd6UG00N0VkdjNmd3IxRlV0N2pyVkY1ejUzYXlONHRNQ1pXaDNkYUdH?= =?utf-8?B?NlVoaDVia0ZXenBJMmQ1cXVEWXI4RjFsRzl6a09HRFJpV0hBa3prbTVYRzVT?= =?utf-8?B?RXRhR2JXdjFPMjJqZC9FazJHZXdlUmtsYnBVVk1HdE9mNGMxZExjcWR3aTdh?= =?utf-8?B?bWZPc0c2TkZpWDJRRi9OMzlwSmRJMks1Wi9Dd0cwa1ZoWlRYUEVYRVNUVnRB?= =?utf-8?B?U045TnJRV2FkYk1FU0VmMWYvdVQzYTI3S0lianFyU3FxVzZTME9nQVVGWHM2?= =?utf-8?B?TklwMnM1ODBmR2JSTFg0S1QvdVNTZUNTaVdiR0JQemZyZGx4U25xTFBRbVZP?= =?utf-8?B?elE9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd9e7db5-2b45-4748-a7b2-08dbf5eee20e X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2023 00:04:15.1346 (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: YNgyVGAEljY3ZHcD4lq65SaLqEX16LYHR5r0Gv5B2hUDWCunhxGfLvYPwYN7NFFZNnGc3co68kfZnJlUvg9Rzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR10MB7053 X-TUID: Awc9pWf+50pS On 04.12.23 10:36, Felix Moessbauer wrote: > This patch solves major performance issues around the initramfs > creation by ensuring that the initrd is only created once. This is > implemented by stubbing the update-initramfs call during the package > installing. After all apt operations are completed, we manually > trigger the initrd creation. In case a custom initramfs is used, the > creation is completely skipped in the image rootfs, as this would > anyways not be used. > > Before that, each package install that made a initrd relevant change > triggered the update of the initrd. As we have multiple apt calls during > the build, this step was sometimes executed multiple times. In addition, > the apt install step is emulated, further slowing down the initrd > generation. On some layers on non native architecutes, this summed up to > over 10 minutes of initrd generation time. > > Signed-off-by: Felix Moessbauer > --- > meta/classes/image.bbclass | 4 +++ > meta/classes/rootfs.bbclass | 32 +++++++++++++++++++ > .../isar-bootstrap/isar-bootstrap.inc | 2 ++ > 3 files changed, 38 insertions(+) > > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > index 73f1d52c..39addc59 100644 > --- a/meta/classes/image.bbclass > +++ b/meta/classes/image.bbclass > @@ -72,6 +72,8 @@ inherit essential > > ROOTFSDIR = "${IMAGE_ROOTFS}" > ROOTFS_FEATURES += "clean-package-cache clean-pycache generate-manifest export-dpkg-status clean-log-files clean-debconf-cache" > +# when using a custom initrd, do not generate one as part of the image rootfs > +ROOTFS_FEATURES += "${@ '' if d.getVar('INITRD_IMAGE') == '' else 'no-generate-initrd'}" > ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${@isar_multiarch_packages('IMAGE_INSTALL', d)}" > ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" > ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" > @@ -488,6 +490,8 @@ do_rootfs_quality_check() { > args="${ROOTFS_QA_FIND_ARGS}" > # rootfs_finalize chroot-setup.sh > args="${args} ! -path ${ROOTFSDIR}/var/lib/dpkg/diversions" > + # initramfs is generated outside of the image rootfs > + args="${args} ! -path ${ROOTFSDIR}/boot/initrd.img*" > for cmd in ${ROOTFS_POSTPROCESS_COMMAND}; do > case "${cmd}" in > image_postprocess_mark) > diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass > index 1b95115a..69e38dac 100644 > --- a/meta/classes/rootfs.bbclass > +++ b/meta/classes/rootfs.bbclass > @@ -14,6 +14,7 @@ ROOTFS_BASE_DISTRO ?= "${BASE_DISTRO}" > # 'generate-manifest' - generate a package manifest of the rootfs into ${ROOTFS_MANIFEST_DEPLOY_DIR} > # 'export-dpkg-status' - exports /var/lib/dpkg/status file to ${ROOTFS_DPKGSTATUS_DEPLOY_DIR} > # 'clean-log-files' - delete log files that are not owned by packages > +# 'no-generate-initrd' - do not generate debian default initrd > ROOTFS_FEATURES ?= "" > > ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes" > @@ -117,6 +118,16 @@ rootfs_configure_apt() { > EOSUDO > } > > +ROOTFS_CONFIGURE_COMMAND += "rootfs_disable_initrd_generation" > +rootfs_disable_initrd_generation[weight] = "1" > +rootfs_disable_initrd_generation() { > + # fully disable initrd generation > + echo "replace update-initramfs with stub" > + sudo mv "${ROOTFSDIR}/usr/sbin/update-initramfs" \ > + "${ROOTFSDIR}/usr/sbin/update-initramfs.isar" > + sudo chroot "${ROOTFSDIR}" ln -s "/usr/bin/true" "/usr/sbin/update-initramfs" > +} > + > > ROOTFS_INSTALL_COMMAND += "rootfs_install_pkgs_update" > rootfs_install_pkgs_update[weight] = "5" > @@ -310,6 +321,27 @@ rootfs_cleanup_isar_apt() { > EOSUDO > } > > +ROOTFS_POSTPROCESS_COMMAND += "rootfs_restore_initrd_tooling" > +rootfs_generate_initrd[weight] = "1" > +rootfs_restore_initrd_tooling() { > + if [ -e "${ROOTFSDIR}/usr/sbin/update-initramfs.isar" ]; then > + sudo mv -f "${ROOTFSDIR}/usr/sbin/update-initramfs.isar" \ > + "${ROOTFSDIR}/usr/sbin/update-initramfs" > + fi > +} > + > +ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'no-generate-initrd', '', 'rootfs_generate_initrd', d)}" > +rootfs_generate_initrd[weight] = "10" > +rootfs_generate_initrd() { > + if [ -n "$(sudo find '${ROOTFSDIR}/boot' -type f -name 'vmlinu[xz]*')" ]; then > + sudo -E chroot "${ROOTFSDIR}" sh -c '\ > + export kernel_version=$(basename /boot/vmlinu[xz]* | cut -d'-' -f2-); \ > + update-initramfs -u -v -k "$kernel_version";' > + else > + echo "no kernel in this rootfs, do not generate initrd" > + fi > +} > + > do_rootfs_postprocess[vardeps] = "${ROOTFS_POSTPROCESS_COMMAND}" > do_rootfs_postprocess[network] = "${TASK_USE_SUDO}" > python do_rootfs_postprocess() { > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > index 3477c2fb..4c6011bc 100644 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > @@ -24,6 +24,8 @@ DISTRO_BOOTSTRAP_KEYFILES = "" > THIRD_PARTY_APT_KEYFILES = "" > DEPLOY_ISAR_BOOTSTRAP ?= "" > DISTRO_BOOTSTRAP_BASE_PACKAGES = "locales" > +# install early, so we can stub the update-initramfs script before rootfs install > +DISTRO_BOOTSTRAP_BASE_PACKAGES:append = ",initramfs-tools" > DISTRO_BOOTSTRAP_BASE_PACKAGES:append:gnupg = ",gnupg" > DISTRO_BOOTSTRAP_BASE_PACKAGES:append:https-support = ",ca-certificates" > DISTRO_VARS_PREFIX ?= "${@'HOST_' if d.getVar('BOOTSTRAP_FOR_HOST') == '1' else ''}" The idea is quite nice for us in Isar, though I'd also eventually like to improve Debian itself in this regard. The building blocks are there in upstream but they do not fully work. Jan -- Siemens AG, Technology Linux Expert Center