From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6808879013169201152 X-Received: by 2002:a7b:cc01:: with SMTP id f1mr8910573wmh.39.1585553136675; Mon, 30 Mar 2020 00:25:36 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:56d2:: with SMTP id m18ls67526wrw.3.gmail; Mon, 30 Mar 2020 00:25:36 -0700 (PDT) X-Google-Smtp-Source: ADFU+vu4cX6nYQZ4l0LdTuTgB0762ssc0wXmxI7Ciwf/AELC/8nHrCOdlnlXm8m9+l9QCeUxUeid X-Received: by 2002:a5d:6187:: with SMTP id j7mr13984886wru.419.1585553136102; Mon, 30 Mar 2020 00:25:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585553136; cv=none; d=google.com; s=arc-20160816; b=DCi/s9brjcH0jB1igTKoGqH0fJ0QEv8dZNjzfj6i5sj+ZgHwYSlQRdWwbEEwA7vB2t my/1PUNcHhJAyqyhdkZah84QGnRFLrOtLJEf9gj4sWYHEd09BZfrv3hzGGqS3SzVt7LE Rln9O1equaakPqexLo7dwTQusnee182GcL0EZVpKOORzGibrCiSOJCfPwGNVfJn83GvH VMCjKF3j0/d4mm6EjfFX765mFC53DXO9mxOxyXwtzP2rP6CwwbZRtCGolDAMVTZ96Nrz maJF6cJd7ttPiVOzH0RAntD6+ZRdQy2UIwZxAL/V1GHqG+SEKBnhB0opFCn1oH8pOMpZ +Q3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject; bh=YtWATFo75Vz3jfPCDdsqv/kN3Af/K+ogtRO2NNN3N3I=; b=g30geZzj7pDxQlw3DGLBPsiZsgABnch5PeJfvowlffAj/QY1W/U1iOmgbPajw5o/Al rhrckdeowMYGWyWvL6TtHenHPG6UkyqzIQ0kQqOnbje7PY92Q81AUbqGR44Lr380kbqS ZmYzg7e8iKYTQNpdcW3Z/CkfIA2kkvBYV90b5gJJBQ1Ake8++gmfvUB39dljnRzyNPbo Npa8FDMXv1fV3Ea186nB+ZY9XputlAR8jSy9nxiax9epBql1Ho3URNEvRunLStrPtfa9 R43j0o/8jHp7bDmRxY0PGxW4jEr6xm6uHoPMkrfEW0neyeC+o06U0afR1aFTmixpN65G RdxQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of quirin.gylstorff@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=quirin.gylstorff@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id q2si616367wrc.2.2020.03.30.00.25.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Mar 2020 00:25:36 -0700 (PDT) Received-SPF: pass (google.com: domain of quirin.gylstorff@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of quirin.gylstorff@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=quirin.gylstorff@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id 02U7PZ0t010069 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 30 Mar 2020 09:25:35 +0200 Received: from [167.87.36.50] ([167.87.36.50]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 02U7PZ16004149 for ; Mon, 30 Mar 2020 09:25:35 +0200 Subject: Re: [PATCH 1/3] meta/classes: Generate a custom initramfs To: isar-users References: <20200327132801.19835-1-Quirin.Gylstorff@siemens.com> <20200327132801.19835-2-Quirin.Gylstorff@siemens.com> From: Gylstorff Quirin Message-ID: <4139df2f-b400-9d82-bb0f-aa26b98686d0@siemens.com> Date: Mon, 30 Mar 2020 09:25:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <20200327132801.19835-2-Quirin.Gylstorff@siemens.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: Jzmfl9DIr+WU 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. > +} > + > +addtask update_initramfs before do_copy_boot_files after do_rootfs_install > [1]: https://dracut.wiki.kernel.org/index.php/Main_Page -- Quirin