From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6808879013169201152 X-Received: by 2002:a7b:ce0b:: with SMTP id m11mr5283155wmc.67.1587479442858; Tue, 21 Apr 2020 07:30:42 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:5386:: with SMTP id d6ls377565wrv.5.gmail; Tue, 21 Apr 2020 07:30:42 -0700 (PDT) X-Google-Smtp-Source: APiQypJWXDGCUCfONSbawsi4thX8LvwPZ6N4Q44JRMdSb7+TohsZinHvtrN+9NToiuwrHnIL3ER3 X-Received: by 2002:a5d:654f:: with SMTP id z15mr25320476wrv.338.1587479442206; Tue, 21 Apr 2020 07:30:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587479442; cv=none; d=google.com; s=arc-20160816; b=zZVmXanjLt3N4vYTIIQ1WIlo3zQ5VMsHjOxszoTaoCzCFF3G64ecM4M53QCCZRn15Q fu8G93cO9o0zEq9y4WYczf+wFlOj1/5vI/xvTywZMzk9MF/NY8EQxIXRgNYXtWN5r6zq bpSeiXlxLyYHhORaH/ZSTe4zeCdkzhHQm/2D1WTaKt3PqJjPeJyCP9sOC5QHG3m06Rgi 5vD1p7/IARnbJMdaVUtX+0toLiqcgsA7t+nblbOSYfXfsCKjpCqaom9dD/TFU7nNjT4A Lowtnti3vRC8DiUAs4ptXLRoOPBsjgw12oFsmhr90AvhFSQRZeQLV4GUm0Mu+qsWo4yi LRMg== 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:cc:to:subject; bh=G3wObco/7gW+DmlSewBABkZCnMjB/0wViTE38AxdFN8=; b=CF2eRkSg2XWq83W3O5jINH0aKd5JDwbvSPI/i8EFeCXULDhwQW6KgKpgyHENu5elfX 70mEXdE36P4ZwhPsS4EZFuCi4qMRU0LTLBZ9VUQNsaZMAS8fy7bSHP4VKuSlX89AnsQ9 ZBtBB2Dheb82+dOJmHKZAhgjQo8Rv6Hae2qkGi8BEEyiJlVMwq0q58F1ycfTsLmygDPn bOy68rcnX3gXNHF03EOoQf2wWOLL35u/5EhCJ2GMzhQAyHPOdAG/q2Q98yWXVTmwBEW1 44zy7RmxX53ARTNwznVs1y9gRTAJxI6Ol/TxDDkyTQy/DPXITS3WUyKx7ZJhDezwQlEt yrGg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of quirin.gylstorff@siemens.com designates 194.138.37.40 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 gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id q17si168155wmg.1.2020.04.21.07.30.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Apr 2020 07:30:42 -0700 (PDT) Received-SPF: pass (google.com: domain of quirin.gylstorff@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 quirin.gylstorff@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=quirin.gylstorff@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 03LEUf0w021173 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 21 Apr 2020 16:30:41 +0200 Received: from [167.87.9.56] ([167.87.9.56]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 03LEUfQr016992; Tue, 21 Apr 2020 16:30:41 +0200 Subject: Re: [PATCH v3 1/3] meta/support: Generate a custom initramfs To: Henning Schild Cc: isar-users@googlegroups.com References: <20200409085427.0a2c6b5d@md1za8fc.ad001.siemens.net> <20200414122449.26528-1-Quirin.Gylstorff@siemens.com> <20200414122449.26528-2-Quirin.Gylstorff@siemens.com> <20200420221400.5eb32b09@md1za8fc.ad001.siemens.net> From: Gylstorff Quirin Message-ID: <032863d9-f9a8-9206-4d2d-db7f9aa939c9@siemens.com> Date: Tue, 21 Apr 2020 16:30:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200420221400.5eb32b09@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: uvHIxboZS1gR On 4/20/20 10:14 PM, Henning Schild wrote: > 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? Yes it can. Quirin > > 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" + >> + > -- Quirin Gylstorff Siemens AG Corporate Technology Research in Digitalization and Automation Smart Embedded Systems CT RDA IOT SES-DE Otto-Hahn-Ring 6 81739 Muenchen, Germany Mobile: +49 173 3746683 mailto:quirin.gylstorff@siemens.com www.siemens.com/ingenuityforlife Siemens Aktiengesellschaft: Chairman of the Supervisory Board: Jim Hagemann Snabe; Managing Board: Joe Kaeser, Chairman, President and Chief Executive Officer; Roland Busch, Lisa Davis, Klaus Helmrich, Cedrik Neike, Michael Sen, Ralf P. Thomas; Registered offices: Berlin and Munich, Germany; Commercial registries: Berlin Charlottenburg, HRB 12300, Munich, HRB 6684; WEEE-Reg.-No. DE 23691322 Important notice: This e-mail and any attachment thereof contain corporate proprietary information. If you have received it by mistake, please notify us immediately by reply e-mail and delete this e-mail and its attachments from your system. Thank you.