From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6808879013169201152 X-Received: by 2002:adf:cd04:: with SMTP id w4mr21597014wrm.357.1587413644188; Mon, 20 Apr 2020 13:14:04 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:5644:: with SMTP id k65ls957685wmb.1.gmail; Mon, 20 Apr 2020 13:14:03 -0700 (PDT) X-Google-Smtp-Source: APiQypL1Y8C79VLv5qjtGMsYIt5jGPN+Vv3aJFm9kuDdBtE1BehTzDBsRphbk/CyZ+NsiI5zgGwh X-Received: by 2002:a1c:61c2:: with SMTP id v185mr1179771wmb.92.1587413643658; Mon, 20 Apr 2020 13:14:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587413643; cv=none; d=google.com; s=arc-20160816; b=jFIEKLoIGu5Yr9tbyhRmhoV8h9xzkm5akTcmHPgbkBNMw39UkHqv6Yoa8PEUIoGBOP m97Xew8hWk5dJfFP7Gv3bWJsl7bVTU/dUKC9QlUB64T8orEWSMPiKEUxbqmVbhwmsIHA /9DTKHe5f+VFEsGYI6MtBxJbLpnZzX+h+vZE+6dY/UUEtnRQqbiyBRpu9MaHjE8KYipC tNBVE32RyAiHIliS4cXTma7PimNUHXpU+670QWfZkJ3RKyoBojJtquAnW7Jls0ldYGtg n+lHRw9gy0+fAB6akMTy29yDDFDDlec13BjnjdNfe3GTx5DZv0I3rxFsqjOJJjAkAk5E XoKw== 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=zN4+yS62zQJhp0r2wO6RVzakiOV/RoTIwUEzsjTslTg=; b=odOczjNhBwDqB5R+OKmTg4DtGdnf3sOOvXdxTxMfMSuj6RLK6Tp8rpBXKbfBNlnyTk WnMsk5hwMTLjAou7CAhcvvIawXgg5llYUP5o5+XpUx8EUbfkQqTq7FY94zyFDStHdqjv xBDUTBi8W8HiAz6TVsDL06wUwRUkwccrHy+Qpia9HU41i5KSlDYbzdNqR1EH6u3ga4R0 bfaITK79pP2s0p3mlRAoZKqqvYZTs9ket2Q7jM1cnivgEj1MEAu7oF3E1xfroHCg+JIO Vok7LPuBrckFwR68ijr6lt2VeJt/im7PelgmER1HDA8tIQEl2Lb+dWACqxVBn9SwgyH/ sJCg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 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 gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id y1si33980wrh.1.2020.04.20.13.14.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Apr 2020 13:14:03 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 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 gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 03KKE3om009660 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 20 Apr 2020 22:14:03 +0200 Received: from md1za8fc.ad001.siemens.net ([139.22.34.11]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 03KKE2FM001200; Mon, 20 Apr 2020 22:14:03 +0200 Date: Mon, 20 Apr 2020 22:14:00 +0200 From: Henning Schild To: "[ext] Q. Gylstorff" Cc: Subject: Re: [PATCH v3 1/3] meta/support: Generate a custom initramfs Message-ID: <20200420221400.5eb32b09@md1za8fc.ad001.siemens.net> In-Reply-To: <20200414122449.26528-2-Quirin.Gylstorff@siemens.com> References: <20200409085427.0a2c6b5d@md1za8fc.ad001.siemens.net> <20200414122449.26528-1-Quirin.Gylstorff@siemens.com> <20200414122449.26528-2-Quirin.Gylstorff@siemens.com> X-Mailer: Claws Mail 3.17.5 (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: GQJ6TZ6zTV5s Am Tue, 14 Apr 2020 14:24:47 +0200 schrieb "[ext] Q. Gylstorff" : > From: Quirin Gylstorff > > This package sets the Parameters for mkinitramfs/update-intramfs > before it regenerates 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 > --- > .../initramfs-config/files/control.tmpl | 12 +++++++ > .../initramfs-config/files/postinst.tmpl | 27 ++++++++++++++++ > .../initramfs-config/files/postrm.tmpl | 19 +++++++++++ > .../initramfs-config/initramfs-config_0.1.bb | 32 > +++++++++++++++++++ 4 files changed, 90 insertions(+) > create mode 100644 > meta/recipes-support/initramfs-config/files/control.tmpl create mode > 100644 meta/recipes-support/initramfs-config/files/postinst.tmpl > create mode 100644 > meta/recipes-support/initramfs-config/files/postrm.tmpl create mode > 100644 meta/recipes-support/initramfs-config/initramfs-config_0.1.bb > > diff --git a/meta/recipes-support/initramfs-config/files/control.tmpl > b/meta/recipes-support/initramfs-config/files/control.tmpl new file > mode 100644 index 0000000..8739b4a > --- /dev/null > +++ b/meta/recipes-support/initramfs-config/files/control.tmpl > @@ -0,0 +1,12 @@ > +Source: initramfs-config > +Section: misc > +Priority: optional > +Standards-Version: 3.9.6 > +Maintainer: isar-users > +Build-Depends: debhelper (>= 9) > + > + > +Package: initramfs-config > +Architecture: any > +Depends: ${shlibs:Depends}, ${misc:Depends}, initramfs-tools-core, > ${DEBIAN_DEPENDS} +Description: Configuration files for a custom > initramfs \ No newline at end of file > diff --git > a/meta/recipes-support/initramfs-config/files/postinst.tmpl > b/meta/recipes-support/initramfs-config/files/postinst.tmpl new file > mode 100644 index 0000000..ca8c9c6 --- /dev/null > +++ b/meta/recipes-support/initramfs-config/files/postinst.tmpl > @@ -0,0 +1,27 @@ > +#!/bin/bash can this be /bin/sh, and if not does that add a dep? Henning > +INITRAMFS_CONF=/etc/initramfs-tools/initramfs.conf > +if [ -f ${INITRAMFS_CONF} ]; then > + sed -i -E 's/(^MODULES=).*/\1${INITRAMFS_MODULES}/' > ${INITRAMFS_CONF} > + sed -i -E 's/(^BUSYBOX=).*/\1${INITRAMFS_BUSYBOX}/' > ${INITRAMFS_CONF} > + sed -i -E 's/(^COMPRESS=).*/\1${INITRAMFS_COMPRESS}/' > ${INITRAMFS_CONF} > + sed -i -E 's/(^KEYMAP=).*/\1${INITRAMFS_KEYMAP}/' > ${INITRAMFS_CONF} > + sed -i -E 's/(^DEVICE=).*/\1${INITRAMFS_NET_DEVICE}/' > ${INITRAMFS_CONF} > + sed -i -E 's/(^NFSROOT=).*/\1${INITRAMFS_NFSROOT}/' > ${INITRAMFS_CONF} > + sed -i -E 's/(^RUNSIZE=).*/\1${INITRAMFS_RUNSIZE}/' > ${INITRAMFS_CONF} > + if grep -Fxq "ROOT=" "${INITRAMFS_CONF}"; then > + sed -i -E 's/(^ROOT=).*/\1${INITRAMFS_ROOT}/' > ${INITRAMFS_CONF} > + else > + sed -i -E "\$aROOT=${INITRAMFS_ROOT}" ${INITRAMFS_CONF} > + fi > +fi > + > +MODULES_LIST_FILE=/etc/initramfs-tools/modules > +if [ -f ${MODULES_LIST_FILE} ]; then > + for modname in ${INITRAMFS_MODULE_LIST}; do > + if ! grep -Fxq "$modname" "${MODULES_LIST_FILE}"; then > + echo "$modname" >> "${MODULES_LIST_FILE}" > + fi > + done > +fi > + > +update-initramfs -v -u > diff --git a/meta/recipes-support/initramfs-config/files/postrm.tmpl > b/meta/recipes-support/initramfs-config/files/postrm.tmpl new file > mode 100644 index 0000000..55399d5 > --- /dev/null > +++ b/meta/recipes-support/initramfs-config/files/postrm.tmpl > @@ -0,0 +1,19 @@ > +#!/bin/bash > +# back to the debian defaults > +INITRAMFS_CONF=/etc/initramfs-tools/initramfs.conf > +sed -i -E 's/(^MODULES=).*/\1most/' ${INITRAMFS_CONF} > +sed -i -E 's/(^BUSYBOX=).*/\1auto/' ${INITRAMFS_CONF} > +sed -i -E 's/(^COMPRESS=).*/\1gzip/' ${INITRAMFS_CONF} > +sed -i -E 's/(^KEYMAP=).*/\1n/' ${INITRAMFS_CONF} > +sed -i -E 's/(^DEVICE=).*/\1/' ${INITRAMFS_CONF} > +sed -i -E 's/(^NFSROOT=).*/\1auto/' ${INITRAMFS_CONF} > +sed -i -E 's/(^RUNSIZE=).*/\110%/' ${INITRAMFS_CONF} > +sed -i -E 's/(^ROOT=).*//' ${INITRAMFS_CONF} > + > +# remove the added modules > +MODULES_LIST_FILE=/etc/initramfs-tools/modules > +for modname in ${INITRAMFS_MODULE_LIST}; do > + sed -i -E 's/$modname//' > +done > + > +update-initramfs -v -u > diff --git > a/meta/recipes-support/initramfs-config/initramfs-config_0.1.bb > b/meta/recipes-support/initramfs-config/initramfs-config_0.1.bb new > file mode 100644 index 0000000..34bb25b --- /dev/null > +++ b/meta/recipes-support/initramfs-config/initramfs-config_0.1.bb > @@ -0,0 +1,32 @@ > +# This software is a part of ISAR. > +# Copyright (C) 2020 Siemens AG > +# > +# SPDX-License-Identifier: MIT > +inherit dpkg-raw > +inherit template > +DESCRIPTION = "Recipe to set the initramfs configuration and > generate a new ramfs" + > + > +SRC_URI = "file://postinst.tmpl \ > + file://postrm.tmpl \ > + file://control.tmpl \ > + " > + > +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 ?= "" > +CREATE_NEW_INITRAMFS ?= "n" > +KERNEL_PACKAGE = "${@ ("linux-image-" + d.getVar("KERNEL_NAME", > True)) if d.getVar("KERNEL_NAME", True) else ""}" +DEBIAN_DEPENDS += > ", ${KERNEL_PACKAGE}" +TEMPLATE_FILES = "postinst.tmpl control.tmpl > postrm.tmpl" +TEMPLATE_VARS += "INITRAMFS_MODULES INITRAMFS_BUSYBOX > INITRAMFS_COMPRESS \ > + INITRAMFS_KEYMAP INITRAMFS_NET_DEVICE > INITRAMFS_NFSROOT \ > + INITRAMFS_RUNSIZE INITRAMFS_ROOT > INITRAMFS_MODULE_LIST CREATE_NEW_INITRAMFS DEBIAN_DEPENDS" + > +