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, 22 Apr 2025 11:16:27 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f63.google.com (mail-ed1-f63.google.com [209.85.208.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 53M9GQa6005368 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 22 Apr 2025 11:16:26 +0200 Received: by mail-ed1-f63.google.com with SMTP id 4fb4d7f45d1cf-5f5f8903e7esf3798988a12.3 for ; Tue, 22 Apr 2025 02:16:26 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1745313381; cv=pass; d=google.com; s=arc-20240605; b=GK5Layr/A3L1veam/XxE6lnDTgyF41Z/C0s006ySp2bz+Zk+pG/V8dYXIqu812G3Dg nuNQolc322L1r50tJxUu46e6PkOUMHznLgGMmfoPcOxdpRJ6Q3YgokS8PG53mIE9V2Fc TAYdyTcIO8vsJ0pzKxPs7tx4aLGqnlqnH1vYMgJfUU2eH/C8RkL9XB4cAIy1p4CFVtWk /Y8GII2GfjXBU/nQHwonb8a8o1J5EyVkSNfhTYCnN6gJHSr8qDpCyfheziKxn3CQH9xc O09Yop5Xka24IXw+yCosJww2pl6+rMdoFK4cgqg2kJHjqFv5pewNW0p3NfPoKoyHzTxH owpg== 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:user-agent :content-transfer-encoding:autocrypt:references:in-reply-to:date:cc :to:from:subject:message-id:sender:dkim-signature; bh=LI+WdANFyzIvAhU+oAjkuYLji29YJf5Psui3FSFmvYU=; fh=9MVwsQmVW0jwK2O5eW9P8WC11L7EXqvYK+otQrlLkvo=; b=dvAfQlPY8l4cjnPaVrTJOcCqzdxf8Sq0EtPY64WFTiQvdavLSMXangpsyY76SxCV9z CUdCjmaw/i0953K3LRVm46YmxPExPO7SUa5c+hJO7dlUDagbLOGsooqLsiVZG1YFea/r RzyayzlYWUqFdSdgPGxlRfb05wrEigYupGbpBfmDQUeoxRzE7+5wAibr0RKFnxzwDIOd WZjK3VKp0h100TUwinUjW+WnybCN1MuYcL9uoVmkDU1/Y4+MlGHMK7FHb1UKjpkJywG0 PcMB/5bEVOy3B9g1kH6uzoPa/QqKk9oO6r2x0km1jUP5fxkedWeDjOTiDzj292W4myYB nRXw==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1745313381; x=1745918181; darn=ilbers.de; 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:user-agent:content-transfer-encoding :autocrypt:references:in-reply-to:date:cc:to:from:subject:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=LI+WdANFyzIvAhU+oAjkuYLji29YJf5Psui3FSFmvYU=; b=QEVs5BEXn9WpYzqeiaIoRypucycj0seRjNTBGJSRqK7ekgRKPsEvtj8ajtnjHw4NTj HtxrpNM3KmZxwvJkHSRxZ//OTdD3aRf5MUBGkqQyvTNaf7M6WdIIkjQozJzp8nUBPYy/ U3gYWmrDNLqRAfvSQp4IZToDb2vWsMNXBijHxecqF5U6FSeEclLUL+H+mL90n7219goI HEsUA3sop5NgAn3RFVqIXKNkAWDj4KCtQMCEL8qLz1ld0cZw6Je0p5X7qjaBCShrxJM2 fEnxV+6wSmzHvupFuq3kRWYj+Fgnz4eREZfJ/shhkk0JpDAYVCHCAJTyJTvJtgSya3Af xJbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745313381; x=1745918181; 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 :user-agent:content-transfer-encoding:autocrypt:references :in-reply-to:date:cc:to:from:subject:message-id:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=LI+WdANFyzIvAhU+oAjkuYLji29YJf5Psui3FSFmvYU=; b=eCA2INy+Khg2ZxTDqJK+v9V95jhFA0XjbxGySlI2EJp/BJDdkVQf3w6HXsiYvHyXCD kOG7Bo6tN9DRvRz38IWh5jDKV521V4mjcJEIKV64oHczkBFEvEBRmIfin0yFEXtsWjKe L/unKZYojz4SypGG/wb9Ferukn+n0ADWDMOR9m1k+PvFidv5gX7NlF+0fhlELysFMaBw uEEQFrPJMWGDHtuvxh5Ub/68MVSa6Dpx8sm0DejkkE9zYQvIByRUxubipP7UQdUznvFl FLYYWCLfPX1UcmELFHAnRHSNeqPBxMpaCD2WUMbMEh6WLB4jqec7bNT+rS9sW8OamH76 NRFw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXyxljwqK0bsMaQhwWBO4MyQ8LyEZgpdrMPsoyNqOeKBkN8eDOHwXA7AsqkKNu9Ly1VFee5@ilbers.de X-Gm-Message-State: AOJu0Yz/S8nyrFbNv8FC7Gisiiil/WxgdI2PX1S93UATI/t0g3WDBrRD MGZFO6KQqXSBRxp/p35NDY0FvrA+1l1qkk7CS7k4fndz4ws6MWLK X-Google-Smtp-Source: AGHT+IEyFepv+III/GgRASEfiPeJ32xe/Bep2roejTmA8nFMUthFbD+wvCW1rCl+DKXIubk2RTh/lA== X-Received: by 2002:a05:6402:1ece:b0:5f3:4ac5:9bc0 with SMTP id 4fb4d7f45d1cf-5f62860f778mr12763458a12.25.1745313380335; Tue, 22 Apr 2025 02:16:20 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPAKMKnvtXiauMJiMKh/b98lbSL78vTl/mmpF+fSN1tQjEA== Received: by 2002:a05:6402:3508:b0:5f4:8519:a63d with SMTP id 4fb4d7f45d1cf-5f6b4fba88dls34608a12.2.-pod-prod-06-eu; Tue, 22 Apr 2025 02:16:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW7vsARNMIKx8K7mfZIQ0Tx107deV9Sw/aA65JOti0JVBh1ujajSn3zcvq9sg1k772cYiAyQzTQOk3B@googlegroups.com X-Received: by 2002:a05:6402:51d3:b0:5e5:bfab:524 with SMTP id 4fb4d7f45d1cf-5f6285547b0mr12933209a12.3.1745313377392; Tue, 22 Apr 2025 02:16:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1745313377; cv=none; d=google.com; s=arc-20240605; b=Wk9A6HWPLLGlzoIfEQCUUusOB237ITnsUvdUPxxf9Gd2wOI1RuWKA0SFfF7daL9kfT HihAF1Ty7RbpictIQxUyKhoIWiPNnFHfDr2Q5+1hybV8hL5xxzhhAMTNH+G/OdyOUeNn XHorfntz7LT4TEKgaMgQ52/9QvZnbDdGljbZIHH+Cdp+fSAtlPkC0CCZ4oz8phPl1e6H BFK5TD6AgHPPPg3UgV9IIZsq9iL/3Ulo4h7/GvW9OQboP7VyMZ0rMLC+Ex0B10IaU8Q0 R0yrTSY7g0zePOgBAYmUCfzL3JmaNtmy5055ncflTzrBx7uyTXgq3Y2svMXz4ChcxF/X /d+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id; bh=FLGNL7dgBhI2TRW+kghDHnXCWPKE61XdozkYTFWQWho=; fh=WzGQqZLTA060a2cqust+6ycVd+v4EZtV0MgcijlF68o=; b=KN66P0D7gi0E/PPi/6XnGBzoLtzM2lypBFAZyKuvS3NWJcfN6hTJTH7I09If9Bv/Vo 9sqSG50CBxZMIeCl5WC/+Ly1vrqd4huJQihAC5na9J1dyLYplkEyTmOQOCLEqvvdLmXO sliTST7qcEtBP10g0YlTyqi0Sm48DbsYOjI0PTFtqSJVorte1bzV2Y2vTH79yFlPb96T h/AmD4z/rFqWD/61o3h4Nak05Rbj1tamjDUE3IYWoPdvMzg+ZXfFkrOiDK4yzPuPXlDe DzAiGurg3BMu8r9kFytXf6/rM+Dv86dXLqQVbVlGHcAoSqxTxsLnZ2Wc97V3rlPCbp/I rhvA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 4fb4d7f45d1cf-5f625549f26si259744a12.1.2025.04.22.02.16.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 22 Apr 2025 02:16:17 -0700 (PDT) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from [IPv6:::1] (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 53M9GEcM005361 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 22 Apr 2025 11:16:15 +0200 Message-ID: <1d1d8ce5d778413cfd092be84e26ee3a9186be05.camel@ilbers.de> Subject: Re: [PATCH 1/2] delay creation of initrd until end of rootfs install From: Uladzimir Bely To: Felix Moessbauer , isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com, cedric.hombourger@siemens.com Date: Tue, 22 Apr 2025 12:16:14 +0300 In-Reply-To: <20250410052751.3835154-2-felix.moessbauer@siemens.com> References: <20250410052751.3835154-1-felix.moessbauer@siemens.com> <20250410052751.3835154-2-felix.moessbauer@siemens.com> Autocrypt: addr=ubely@ilbers.de; prefer-encrypt=mutual; keydata=mQENBGO2eUkBCACtT+T3OrPVSExBmqfgXT3lp9XcdxRzjYp26wezkgYjjBXaf36bxtaAf S471VoQtpar0RVeFfW7WDDdfX9ZclSj36zBQe+RVSJzoNoNQfjOXWuSHb5Z+cpAFtqBY4muxK4+ia IlLJd6CN3ejOsLHATtCeHHq8wi0z2T+KdLQO+wQRgo2hjj0Lp9pGTrKJry50HP/o7Vbdu14dOx2xq r8+wPc6SQbBIrcqaa4MqCQC00vQG7eXvo+k2MOw59FDdpMH0KR9mHgp3u/s4I+4YRBArukt9G9xz/ rsEFmxAIBC6N/a6Hzwg4puc91n7ABDsPg8Vp+X3MDraujN0dvR6OKVNtABEBAAG0IFVsYWR6aW1pc iBCZWx5IDx1YmVseUBpbGJlcnMuZGU+iQFOBBMBCAA4FiEEJqPNVhVGyk12Eh+PAUQYBM/2FkoFAm O2eUkCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQAUQYBM/2FkprlAgAmuna8Hm9EyoEtTl DBGDg6Zm4ZLp5ffvZBE946h92jepDrteoxsJ7pSzJVC2HmDLa4iZUao7lLLbDsUj5x45/iLJcqBZK k3YnAxP2r6a+kI+1VVQY1pxdG1nlJAbdNzoojm/qmezNPSrqni61KVMQKsXBCWhIjSXDSM9CsBj21 a+9qaVqfxovJGTn9lgrZO+xzKQNMKZeOouJlscVuFj21P0ww3/YENiU/nMeTSuYypO76mDtAd08Jo nc3yuHa9MJGei5ixN3wT+IrGR2aL2hdw2M6NgH7sYbL2Zi4ugD6RXHJai1Bh2yvFSVqSQ+M6QOInT 4ud7wslm1XRB065dXtA== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.56.0 (by Flathub.org) 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: ubely@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@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-TUID: 8r+0Spr8lVE4 On Thu, 2025-04-10 at 07:27 +0200, 'Felix Moessbauer' via isar-users 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. We further unify the initrd generation in the > rootfs and in the initramfs class. >=20 > 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. >=20 > On a test build of the RPi4b target with a detached initramfs and a > distro kernel, this patch set reduced the build time form ~50min to > ~15min. >=20 > Signed-off-by: Felix Moessbauer > --- > =C2=A0meta/classes/image.bbclass=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= | 17 ++--- > =C2=A0meta/classes/initramfs.bbclass=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 39 +---------- > =C2=A0meta/classes/rootfs.bbclass=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 66 > ++++++++++++++++++- > =C2=A0.../sbuild-chroot/sbuild-chroot.inc=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 1 + > =C2=A04 files changed, 72 insertions(+), 51 deletions(-) >=20 Hello. The patch makes builds for ubuntu targets fail: ``` | DEBUG: Executing shell function rootfs_generate_initramfs | basename: extra operand '/boot/vmlinuz.old' | Try 'basename --help' for more information. | Generating initrd | Available versions: | Nothing to do, exiting. | cp: cannot stat '/build/tmp/work/ubuntu-focal-amd64/isar-image-base- qemuamd64/1.0-r0/rootfs/initrd.img': No such file or directory | WARNING: exit code 1 from a shell command. | DEBUG: Executing shell function rootfs_do_umounts | DEBUG: Shell function rootfs_do_umounts finished | DEBUG: Python function do_generate_initramfs finished ERROR: Task (/build/../repo/meta-isar/recipes-core/images/isar-image- base.bb:do_generate_initramfs) failed with exit code '1' ``` It's easy to reproduce in kas-container, even on amd64 target, for any ubuntu (focal/jammy/noble) distro. > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > index ff3cd737..8523a662 100644 > --- a/meta/classes/image.bbclass > +++ b/meta/classes/image.bbclass > @@ -67,6 +67,8 @@ inherit essential > =C2=A0 > =C2=A0ROOTFSDIR =3D "${IMAGE_ROOTFS}" > =C2=A0ROOTFS_FEATURES +=3D "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 +=3D "${@ '' if d.getVar('INITRD_IMAGE') =3D=3D '' else > 'no-generate-initrd'}" > =C2=A0ROOTFS_PACKAGES +=3D "${IMAGE_PREINSTALL} > ${@isar_multiarch_packages('IMAGE_INSTALL', d)}" > =C2=A0ROOTFS_MANIFEST_DEPLOY_DIR ?=3D "${DEPLOY_DIR_IMAGE}" > =C2=A0ROOTFS_DPKGSTATUS_DEPLOY_DIR ?=3D "${DEPLOY_DIR_IMAGE}" > @@ -341,17 +343,6 @@ do_copy_boot_files() { > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sudo cat "$kernel" > "${= DEPLOYDIR}/${KERNEL_IMAGE}" > =C2=A0=C2=A0=C2=A0=C2=A0 fi > =C2=A0 > -=C2=A0=C2=A0=C2=A0 if [ -z "${INITRD_IMAGE}" ]; then > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # deploy default initrd if no= custom one is build > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 initrd=3D"$(realpath -q '${IM= AGE_ROOTFS}/initrd.img')" > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if [ ! -f "$initrd" ]; then > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 initr= d=3D"$(realpath -q > '${IMAGE_ROOTFS}/boot/initrd.img')" > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fi > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if [ -f "$initrd" ]; then > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cp -f= "$initrd" '${DEPLOYDIR}/${INITRD_DEPLOY_FILE}' > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fi > -=C2=A0=C2=A0=C2=A0 fi > - > =C2=A0=C2=A0=C2=A0=C2=A0 for file in ${DTB_FILES}; do > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dtb=3D"$(find '${IMAGE_R= OOTFS}/usr/lib' -type f \ > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -iwholename '*linux-image-= */'${file} | head -1)" > @@ -450,7 +441,7 @@ EOSUDO > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -exec touch '{}' -h -d@$= {SOURCE_DATE_EPOCH} ';' > =C2=A0} > =C2=A0do_rootfs_finalize[network] =3D "${TASK_USE_SUDO}" > -addtask rootfs_finalize before do_rootfs after do_rootfs_postprocess > +addtask rootfs_finalize before do_rootfs after do_rootfs_postprocess > do_generate_initramfs > =C2=A0 > =C2=A0ROOTFS_QA_FIND_ARGS ?=3D "" > =C2=A0 > @@ -461,6 +452,8 @@ do_rootfs_quality_check() { > =C2=A0=C2=A0=C2=A0=C2=A0 args=3D"${ROOTFS_QA_FIND_ARGS}" > =C2=A0=C2=A0=C2=A0=C2=A0 # rootfs_finalize chroot-setup.sh > =C2=A0=C2=A0=C2=A0=C2=A0 args=3D"${args} ! -path ${ROOTFSDIR}/var/lib/dpk= g/diversions" > +=C2=A0=C2=A0=C2=A0 # initramfs is generated outside of the image rootfs > +=C2=A0=C2=A0=C2=A0 args=3D"${args} ! -path ${ROOTFSDIR}/boot/initrd.img*= " > =C2=A0=C2=A0=C2=A0=C2=A0 for cmd in ${ROOTFS_POSTPROCESS_COMMAND}; do > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 case "${cmd}" in > =C2=A0 =C2=A0=C2=A0=C2=A0 image_postprocess_mark) > diff --git a/meta/classes/initramfs.bbclass > b/meta/classes/initramfs.bbclass > index 0197a60b..3a996f78 100644 > --- a/meta/classes/initramfs.bbclass > +++ b/meta/classes/initramfs.bbclass > @@ -6,14 +6,11 @@ DEPLOYDIR =3D "${WORKDIR}/deploy" > =C2=A0STAMP =3D "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}- > ${MACHINE}/${PV}-${PR}" > =C2=A0STAMPCLEAN =3D "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}- > ${MACHINE}/*-*" > =C2=A0 > -# Sstate also needs to be machine-specific > -SSTATE_MANIFESTS =3D "${TMPDIR}/sstate-control/${MACHINE}-${DISTRO}- > ${DISTRO_ARCH}" > -SSTATETASKS +=3D "do_generate_initramfs" > - > =C2=A0INITRAMFS_INSTALL ?=3D "" > =C2=A0INITRAMFS_PREINSTALL ?=3D "" > =C2=A0INITRAMFS_ROOTFS ?=3D "${WORKDIR}/rootfs" > =C2=A0INITRAMFS_IMAGE_NAME =3D "${INITRAMFS_FULLNAME}.initrd.img" > +INITRD_DEPLOY_FILE =3D "${INITRAMFS_IMAGE_NAME}" > =C2=A0 > =C2=A0# Install proper kernel > =C2=A0INITRAMFS_INSTALL +=3D "${@ ("linux-image-" + d.getVar("KERNEL_NAME= ")) > if d.getVar("KERNEL_NAME") else ""}" > @@ -28,37 +25,3 @@ ROOTFS_FEATURES =3D "" > =C2=A0ROOTFS_PACKAGES =3D "initramfs-tools ${INITRAMFS_PREINSTALL} > ${INITRAMFS_INSTALL}" > =C2=A0 > =C2=A0inherit rootfs > - > -do_generate_initramfs[network] =3D "${TASK_USE_SUDO}" > -do_generate_initramfs[cleandirs] +=3D "${DEPLOYDIR}" > -do_generate_initramfs[sstate-inputdirs] =3D "${DEPLOYDIR}" > -do_generate_initramfs[sstate-outputdirs] =3D "${DEPLOY_DIR_IMAGE}" > -do_generate_initramfs() { > -=C2=A0=C2=A0=C2=A0 rootfs_do_mounts > - > -=C2=A0=C2=A0=C2=A0 trap 'exit 1' INT HUP QUIT TERM ALRM USR1 > -=C2=A0=C2=A0=C2=A0 trap 'rootfs_do_umounts' EXIT > - > -=C2=A0=C2=A0=C2=A0 rootfs_do_qemu > - > -=C2=A0=C2=A0=C2=A0 sudo -E chroot "${INITRAMFS_ROOTFS}" sh -c '\ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 export kernel_version=3D$(bas= ename /boot/vmlinu[xz]* | cut - > d'-' -f2-); \ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if [ -n "$kernel_version" ]; = then \ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 update-initramfs = -u -v -k "$kernel_version"; \ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else \ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 update-initramfs = -u -v ;=C2=A0 \ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fi' > - > -=C2=A0=C2=A0=C2=A0 rootfs_do_umounts > - > -=C2=A0=C2=A0=C2=A0 if [ ! -e "${INITRAMFS_ROOTFS}/initrd.img" ]; then > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bberror "No initramfs was fou= nd after generation!" > -=C2=A0=C2=A0=C2=A0 fi > -=C2=A0=C2=A0=C2=A0 cp ${INITRAMFS_ROOTFS}/initrd.img > ${DEPLOYDIR}/${INITRAMFS_IMAGE_NAME} > -} > -addtask generate_initramfs after do_rootfs before do_build > - > -python do_generate_initramfs_setscene () { > -=C2=A0=C2=A0=C2=A0 sstate_setscene(d) > -} > -addtask do_generate_initramfs_setscene > diff --git a/meta/classes/rootfs.bbclass > b/meta/classes/rootfs.bbclass > index 446d92d6..d49cd1ef 100644 > --- a/meta/classes/rootfs.bbclass > +++ b/meta/classes/rootfs.bbclass > @@ -14,6 +14,7 @@ ROOTFS_BASE_DISTRO ?=3D "${BASE_DISTRO}" > =C2=A0# 'generate-manifest' - generate a package manifest of the rootfs > into ${ROOTFS_MANIFEST_DEPLOY_DIR} > =C2=A0# 'export-dpkg-status' - exports /var/lib/dpkg/status file to > ${ROOTFS_DPKGSTATUS_DEPLOY_DIR} > =C2=A0# 'clean-log-files' - delete log files that are not owned by > packages > +# 'no-generate-initrd' - do not generate debian default initrd > =C2=A0ROOTFS_FEATURES ?=3D "" > =C2=A0 > =C2=A0ROOTFS_APT_ARGS=3D"install --yes -o Debug::pkgProblemResolver=3Dyes= " > @@ -22,6 +23,9 @@ ROOTFS_CLEAN_FILES=3D"/etc/hostname /etc/resolv.conf" > =C2=A0 > =C2=A0ROOTFS_PACKAGE_SUFFIX ?=3D "${PN}-${DISTRO}-${DISTRO_ARCH}" > =C2=A0 > +# path to deploy stubbed versions of initrd update scripts during > do_rootfs_install > +ROOTFS_STUBS_DIR =3D "/usr/local/isar-sbin" > + > =C2=A0# Useful environment variables: > =C2=A0export E =3D "${@ isar_export_proxies(d)}" > =C2=A0export DEBIAN_FRONTEND =3D "noninteractive" > @@ -165,6 +169,13 @@ rootfs_configure_apt() { > =C2=A0EOSUDO > =C2=A0} > =C2=A0 > +ROOTFS_CONFIGURE_COMMAND +=3D "rootfs_disable_initrd_generation" > +rootfs_disable_initrd_generation[weight] =3D "1" > +rootfs_disable_initrd_generation() { > +=C2=A0=C2=A0=C2=A0 # fully disable initrd generation > +=C2=A0=C2=A0=C2=A0 sudo mkdir -p "${ROOTFSDIR}${ROOTFS_STUBS_DIR}" > +=C2=A0=C2=A0=C2=A0 sudo cp -a ${ROOTFSDIR}/usr/bin/true > ${ROOTFSDIR}${ROOTFS_STUBS_DIR}/update-initramfs > +} > =C2=A0 > =C2=A0ROOTFS_INSTALL_COMMAND +=3D "rootfs_install_pkgs_update" > =C2=A0rootfs_install_pkgs_update[weight] =3D "5" > @@ -227,7 +238,21 @@ rootfs_install_pkgs_install[progress] =3D > "custom:rootfs_progress.PkgsInstallProgr > =C2=A0rootfs_install_pkgs_install[network] =3D "${TASK_USE_SUDO}" > =C2=A0rootfs_install_pkgs_install() { > =C2=A0=C2=A0=C2=A0=C2=A0 sudo -E chroot "${ROOTFSDIR}" \ > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /usr/bin/apt-get ${ROOTFS_APT= _ARGS} ${ROOTFS_PACKAGES} > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /usr/bin/apt-get ${ROOTFS_APT= _ARGS} \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -o > DPkg::Path=3D'${ROOTFS_STUBS_DIR}:/usr/sbin:/usr/bin:/sbin:/bin' \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ${ROO= TFS_PACKAGES} > +} > + > +ROOTFS_INSTALL_COMMAND +=3D "rootfs_restore_initrd_tooling" > +rootfs_restore_initrd_tooling[weight] =3D "1" > +rootfs_restore_initrd_tooling() { > +=C2=A0=C2=A0=C2=A0 sudo rm -rf "${ROOTFSDIR}${ROOTFS_STUBS_DIR}" > +} > + > +ROOTFS_INSTALL_COMMAND +=3D "${@bb.utils.contains('ROOTFS_FEATURES', > 'no-generate-initrd', 'rootfs_clear_initrd_symlinks', '', d)}" > +rootfs_clear_initrd_symlinks() { > +=C2=A0=C2=A0=C2=A0 sudo rm -f ${ROOTFSDIR}/initrd.img > +=C2=A0=C2=A0=C2=A0 sudo rm -f ${ROOTFSDIR}/initrd.img.old > =C2=A0} > =C2=A0 > =C2=A0do_rootfs_install[root_cleandirs] =3D "${ROOTFSDIR}" > @@ -421,6 +446,45 @@ python do_rootfs_postprocess() { > =C2=A0} > =C2=A0addtask rootfs_postprocess before do_rootfs after do_unpack > =C2=A0 > +SSTATETASKS +=3D "do_generate_initramfs" > +do_generate_initramfs[network] =3D "${TASK_USE_SUDO}" > +do_generate_initramfs[cleandirs] +=3D "${DEPLOYDIR}" > +do_generate_initramfs[sstate-inputdirs] =3D "${DEPLOYDIR}" > +do_generate_initramfs[sstate-outputdirs] =3D "${DEPLOY_DIR_IMAGE}" > +python do_generate_initramfs() { > +=C2=A0=C2=A0=C2=A0 bb.build.exec_func('rootfs_do_mounts', d) > +=C2=A0=C2=A0=C2=A0 bb.build.exec_func('rootfs_do_qemu', d) > +=C2=A0=C2=A0=C2=A0 try: > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.build.exec_func('rootfs_ge= nerate_initramfs', d) > +=C2=A0=C2=A0=C2=A0 finally: > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.build.exec_func('rootfs_do= _umounts', d) > +} > + > +python do_generate_initramfs_setscene () { > +=C2=A0=C2=A0=C2=A0 sstate_setscene(d) > +} > + > +rootfs_generate_initramfs[progress] =3D > "custom:rootfs_progress.InitrdProgressHandler" > +rootfs_generate_initramfs() { > +=C2=A0=C2=A0=C2=A0 if [ -n "$(sudo find '${ROOTFSDIR}/boot' -type f -nam= e > 'vmlinu[xz]*')" ]; then > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sudo -E chroot "${ROOTFSDIR}"= sh -c '\ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 expor= t kernel_version=3D$(basename /boot/vmlinu[xz]* | cut > -d'-' -f2-); \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 echo = "Generating initrd"; \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 updat= e-initramfs -u -v -k "$kernel_version";' > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if [ -n "${INITRD_DEPLOY_FILE= }" ]; then > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cp ${= ROOTFSDIR}/initrd.img > ${DEPLOYDIR}/${INITRD_DEPLOY_FILE} > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fi > +=C2=A0=C2=A0=C2=A0 else > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 echo "no kernel in this rootf= s, do not generate initrd" > +=C2=A0=C2=A0=C2=A0 fi > +} > + > +python() { > +=C2=A0=C2=A0=C2=A0 if 'no-generate-initrd' not in d.getVar('ROOTFS_FEATU= RES', > True).split(): > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.build.addtask('do_generate= _initramfs', 'do_rootfs', > 'do_rootfs_postprocess', d) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.build.addtask('do_generate= _initramfs_setscene', None, > None, d) > +} > + > =C2=A0python do_rootfs() { > =C2=A0=C2=A0=C2=A0=C2=A0 """Virtual task""" > =C2=A0=C2=A0=C2=A0=C2=A0 pass > diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc > b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc > index 6478d3a6..98e427e5 100644 > --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc > +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc > @@ -55,6 +55,7 @@ SBUILD_CHROOT_PREINSTALL_COMMON =3D " \ > =C2=A0SBUILD_CHROOT_DIR =3D "${WORKDIR}/rootfs" > =C2=A0ROOTFSDIR =3D "${SBUILD_CHROOT_DIR}" > =C2=A0ROOTFS_PACKAGES =3D "${SBUILD_CHROOT_PREINSTALL}" > +ROOTFS_FEATURES +=3D "no-generate-initrd" > =C2=A0 > =C2=A0ROOTFS_POSTPROCESS_COMMAND:remove =3D "rootfs_cleanup_isar_apt" > =C2=A0 > --=20 > 2.39.5 --=20 Best regards, Uladzimir. --=20 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 e= mail to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/= 1d1d8ce5d778413cfd092be84e26ee3a9186be05.camel%40ilbers.de.