public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Gylstorff Quirin <quirin.gylstorff@siemens.com>
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH 1/3] meta/classes: Generate a custom initramfs
Date: Mon, 30 Mar 2020 09:25:34 +0200	[thread overview]
Message-ID: <4139df2f-b400-9d82-bb0f-aa26b98686d0@siemens.com> (raw)
In-Reply-To: <20200327132801.19835-2-Quirin.Gylstorff@siemens.com>



On 3/27/20 2:27 PM, Q. Gylstorff wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> 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 <quirin.gylstorff@siemens.com>
> ---
>   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

  reply	other threads:[~2020-03-30  7:25 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-27 13:27 [PATCH 0/3] some image classes Q. Gylstorff
2020-03-27 13:27 ` [PATCH 1/3] meta/classes: Generate a custom initramfs Q. Gylstorff
2020-03-30  7:25   ` Gylstorff Quirin [this message]
2020-03-30  8:08     ` Henning Schild
2020-03-27 13:28 ` [PATCH 2/3] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2020-03-27 18:50   ` Henning Schild
2020-03-30  7:27     ` Gylstorff Quirin
2020-03-27 13:28 ` [PATCH 3/3] meta/classes: add cpiogz-img Q. Gylstorff
2020-03-27 19:01   ` Henning Schild
2020-03-30  7:29     ` Gylstorff Quirin
2020-03-27 14:51 ` [PATCH] Add ova configuration for testing Q. Gylstorff
2020-03-27 18:46   ` Henning Schild
2020-03-27 14:52 ` [PATCH] conf: Add multiconfig for cpiogz Q. Gylstorff
2020-04-03 14:55 ` [PATCH v2 0/3] some images classes Q. Gylstorff
2020-04-03 14:55   ` [PATCH v2 1/3] meta/support: Generate a custom initramfs Q. Gylstorff
2020-04-09  6:39     ` Henning Schild
2020-04-09 13:59       ` Gylstorff Quirin
2020-04-09 17:18         ` Henning Schild
2020-04-03 14:55   ` [PATCH v2 2/3] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2020-04-09  6:48     ` Henning Schild
2020-04-09 14:28       ` Gylstorff Quirin
2020-04-03 14:55   ` [PATCH v2 3/3] meta/classes: add cpiogz-img Q. Gylstorff
2020-04-09  6:54   ` [PATCH v2 0/3] some images classes Henning Schild
2020-04-14 12:24     ` [PATCH v3 " Q. Gylstorff
2020-04-14 12:24       ` [PATCH v3 1/3] meta/support: Generate a custom initramfs Q. Gylstorff
2020-04-20 20:14         ` Henning Schild
2020-04-21 14:30           ` Gylstorff Quirin
2020-04-14 12:24       ` [PATCH v3 2/3] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2020-04-14 12:24       ` [PATCH v3 3/3] meta/classes: add cpiogz-img Q. Gylstorff
2020-04-20 20:14       ` [PATCH v3 0/3] some images classes Henning Schild
2020-04-21 14:57         ` [PATCH v4 0/3] some images Q. Gylstorff
2020-04-21 14:57           ` [PATCH v4 1/3] meta/support: Generate a custom initramfs Q. Gylstorff
2020-04-21 14:57           ` [PATCH v4 2/3] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2020-04-21 15:17             ` Jan Kiszka
2020-04-23  9:46               ` [PATCH v5 0/3] some images Q. Gylstorff
2020-04-23  9:46                 ` [PATCH v5 1/3] meta/support: Generate a custom initramfs Q. Gylstorff
2020-06-18 15:54                   ` Harald Seiler
2020-06-22 13:44                     ` Gylstorff Quirin
2020-06-25 12:56                     ` [PATCH v6 0/3] some images Q. Gylstorff
2020-06-25 12:56                       ` [PATCH v6 1/3] meta/support: Generate a custom initramfs Q. Gylstorff
2020-09-16 12:24                         ` Harald Seiler
2020-06-25 12:56                       ` [PATCH v6 2/3] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2020-06-25 12:56                       ` [PATCH v6 3/3] meta/classes: add cpiogz-img Q. Gylstorff
2020-10-13 10:22                       ` [PATCH v6 0/3] some images Jan Kiszka
2021-02-05 10:07                         ` Gylstorff Quirin
2021-02-05 10:52                   ` [PATCH v7 0/2] CPIO & OVA Images Q. Gylstorff
2021-02-05 10:52                     ` [PATCH v7 1/2] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2021-02-05 11:16                       ` Jan Kiszka
2021-02-05 10:52                     ` [PATCH v7 2/2] meta/classes: add cpiogz-img Q. Gylstorff
2021-02-05 11:09                       ` Jan Kiszka
2021-02-05 15:57                     ` [PATCH v8 0/2] CPIO & OVA Images Q. Gylstorff
2021-02-05 15:57                       ` [PATCH v8 1/2] meta/classes: Generate ova image for VMWare or Virtualbox Q. Gylstorff
2021-03-26 11:47                         ` Anton Mikanovich
2021-02-05 15:57                       ` [PATCH v8 2/2] meta/classes: add cpiogz-img Q. Gylstorff
2021-03-26 11:51                         ` Anton Mikanovich
2020-04-23  9:46                 ` [PATCH v5 2/3] meta/classes: Generate ova image for vmware or virtualbox Q. Gylstorff
2020-04-23  9:46                 ` [PATCH v5 3/3] meta/classes: add cpiogz-img Q. Gylstorff
2020-04-21 14:57           ` [PATCH v4 " Q. Gylstorff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4139df2f-b400-9d82-bb0f-aa26b98686d0@siemens.com \
    --to=quirin.gylstorff@siemens.com \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox