From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6808879013169201152 X-Received: by 2002:a17:906:5a90:: with SMTP id l16mr9910791ejq.276.1585555688362; Mon, 30 Mar 2020 01:08:08 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:f102:: with SMTP id gv2ls11470639ejb.0.gmail; Mon, 30 Mar 2020 01:08:07 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsVZzTl2PZyiEFkMdheljGAXtJ5EobZg98vtVsdsHQpGU7XmVe3b2lIILnzu85UuIg+H+wS X-Received: by 2002:a17:907:20e5:: with SMTP id rh5mr10035305ejb.52.1585555687815; Mon, 30 Mar 2020 01:08:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585555687; cv=none; d=google.com; s=arc-20160816; b=Sgy+0M/RnIiGYVgQwLYrmKW56izdhUgmfvk0wFeRlGTW7WoT0cy07x0yt4ZwuqIzL6 Pq3AfyHNRAp2fxWB20U8Z3dxkmw6CHUXBcjJwbu4M5Y3CHLm2y/5DN6RlmrAsLaRaHXc JGu9tj9panbVLf4wCLZ9Ijvfl/q8yI5K/bzAMI8PYOe/blr4os7qvo9+Z4WmlSnDhHs4 Fg3MRp5wE+F02tSEa1aMBCFQIVbqtP1fy/AKCsEdWDbLD54suOcVVAz9fE1QFwSTyJPd C2zR0OeT8Dc/fNuJekY410TKalSTIALUTLPTn9VoB9JUbUg3dy/59VVIBRFlY8Jdm8Q/ kpMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=mLJAcryrJ4OV62WLNE+nvcT71s6k/i22o2E+ii1iMGw=; b=tslKwlvRcmPVynMpUnkSeVXsaADWxXauZwso5b/k14cKG/i9CRfqKXIr+Zz03Qdpdl osh093hPugvVvONir88vlLxd7ryZDrL9KWWmjuiwFH0wcxNijU3oiA3ytmpPRTY51lhm PjXMnBVmS/AZw4Q3W6doUFgN7jwOKdLPfX2dCT4ODnZbogJA2X4IEFtTWV+e/BZF/oIM AScUKFNaFpG0tFoajHuz+kWJZz4FiNw+Zj2M8uFWzbl2IqO9/Arafo/k1BPNwjJ56d+D LBSknG1dAFrJc5tjM4fZPzeJFnEwdASXUMBMhMy4yyWpSQ+EIiZ6tLttkrXBUYdORAKg Bflw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id w13si556921edv.2.2020.03.30.01.08.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Mar 2020 01:08:07 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 02U887MZ002642 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 30 Mar 2020 10:08:07 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.40.189]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 02U886ZR021241; Mon, 30 Mar 2020 10:08:06 +0200 Date: Mon, 30 Mar 2020 10:08:03 +0200 From: Henning Schild To: "[ext] Gylstorff Quirin" Cc: isar-users Subject: Re: [PATCH 1/3] meta/classes: Generate a custom initramfs Message-ID: <20200330100803.5fd69688@md1za8fc.ad001.siemens.net> In-Reply-To: <4139df2f-b400-9d82-bb0f-aa26b98686d0@siemens.com> References: <20200327132801.19835-1-Quirin.Gylstorff@siemens.com> <20200327132801.19835-2-Quirin.Gylstorff@siemens.com> <4139df2f-b400-9d82-bb0f-aa26b98686d0@siemens.com> X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: g6pSsB8jMiXg Am Mon, 30 Mar 2020 09:25:34 +0200 schrieb "[ext] Gylstorff Quirin" : > On 3/27/20 2:27 PM, Q. Gylstorff wrote: > > From: Quirin Gylstorff > > > > This class sets the Parameters for mkinitramfs before it overwrites > > the initrd.img of debian with a modified version. > > > > Use cases are the remove unnecessary kernel modules to reduce the > > size of the initrd by using the parameters: > > ``` > > INITRAMFS_MODULES = "list" > > INITRAMFS_MODULE_LIST += "ext4" > > ``` > > > > Set the boot root during the initrd generation by setting > > `INITRAMFS_ROOT`. > > > > see also man pages of mkinitramfs and initramfs.conf. > > > > Signed-off-by: Quirin Gylstorff > > --- > > meta/classes/initramfs.bbclass | 44 > > ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) > > create mode 100644 meta/classes/initramfs.bbclass > > > > diff --git a/meta/classes/initramfs.bbclass > > b/meta/classes/initramfs.bbclass new file mode 100644 > > index 0000000..0cc91c2 > > --- /dev/null > > +++ b/meta/classes/initramfs.bbclass > > @@ -0,0 +1,44 @@ > > +# This software is a part of ISAR. > > +# Copyright (C) 2020 Siemens AG > > +# > > +# SPDX-License-Identifier: MIT > > + > > +INITRAMFS_MODULES ?= "most" > > +INITRAMFS_BUSYBOX ?= "auto" > > +INITRAMFS_COMPRESS ?= "gzip" > > +INITRAMFS_KEYMAP ?= "n" > > +INITRAMFS_NET_DEVICE ?= "" > > +INITRAMFS_NFSROOT ?= "auto" > > +INITRAMFS_RUNSIZE ?= "10%" > > +INITRAMFS_ROOT ?= "" > > +INITRAMFS_MODULE_LIST ?= "" > > +update_initramfs_modules() { > > + for modname in ${INITRAMFS_MODULE_LIST}; do > > + sudo -E tee --append > > '${ROOTFSDIR}/etc/initramfs-tools/modules' << EOF +${modname} > > +EOF > > + done > > +} > > +update_initramfs_config() { > > + sudo -E tee ${ROOTFSDIR}/etc/initramfs-tools/initramfs.conf << > > EOF +MODULES=${INITRAMFS_MODULES} > > +BUSYBOX=${INITRAMFS_BUSYBOX} > > +COMPRESS=${INITRAMFS_COMPRESS} > > +KEYMAP=${INITRAMFS_KEYMAP} > > +DEVICE=${INITRAMFS_NET_DEVICE} > > +NFSROOT=${INITRAMFS_NFSROOT} > > +RUNSIZE=${INITRAMFS_RUNSIZE} > > +ROOT=${INITRAMFS_ROOT} > > +EOF > > +} > > + > > +do_update_initramfs() { > > + update_initramfs_modules > > + update_initramfs_config > > + export KERNEL_VERSION=$(ls ${ROOTFSDIR}/lib/modules) > > + bbplain kernel_version: ${KERNEL_VERSION} > > + sudo -E chroot '${ROOTFSDIR}' \ > > + mkinitramfs -v -k -o /boot/initrd.img-${KERNEL_VERSION} > > ${KERNEL_VERSION} > > An alternative here would be dracut[1] which has a nice cmdline and > don need to copy all the information into the rootfs to generate the > initramfs. But we would leave the debian way and if want to update > the kernel/initrd with packages we need the debian scripts. I think i would stick with the debian way of things. But changing that config outside a package is a strong violation of Isar best practices. IMHO not acceptable the way you propose it here. Whatever gets done should happen automagically on a regular update of the kernel package. That said i think that class needs to append a config-package to IMAGE_INSTALL. The tricky bit will be getting PN/PV etc right, that might need to contain the image PN/PV to not create false-sharing in multiconfig. Henning > > +} > > + > > +addtask update_initramfs before do_copy_boot_files after > > do_rootfs_install > [1]: https://dracut.wiki.kernel.org/index.php/Main_Page