public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Claudius Heine <ch@denx.de>
To: Henning Schild <henning.schild@siemens.com>,
	"[ext] Q. Gylstorff" <Quirin.Gylstorff@siemens.com>
Cc: isar-users@googlegroups.com,
	"[ext] Claudius Heine" <claudius.heine.ext@siemens.com>
Subject: Re: [PATCH] recipes-support: add fsck to initramfs
Date: Tue, 13 Aug 2019 17:31:42 +0200	[thread overview]
Message-ID: <f40110c1-65d0-9587-7172-c0e1dcf6e511@denx.de> (raw)
In-Reply-To: <20190813163615.0edcfa7c@md1za8fc.ad001.siemens.net>


[-- Attachment #1.1: Type: text/plain, Size: 5659 bytes --]

Hi Henning

On 13/08/2019 16.36, Henning Schild wrote:
> Well it looks like the problem is the missing fstab
> line. /usr/share/initramfs-tools/hooks/fsck is looking for that to
> decide which fsck to include.
> 
> There also seems to be /etc/fstab.d/*.fstab that can be used if we do
> not like touching the original fstab. I think Claudius once removed /
> from fstab claiming that it was not required.

No, i have not touched the /etc/fstab generation code. That code goes
all the way back, when multistrap was used and the fstab was generated
in the config scripts. I thought about refactoring that and put the idea
out, but I never did.

regards,
Claudius

> 
> The package you get from that changes content based on an image
> variable. That must not be done. The fstypes would have to become part
> of PN or PV ...
> 
> I think we should get that fstab line back.
> 
> Henning
> 
> Am Wed, 7 Aug 2019 09:59:08 +0200
> schrieb "[ext] Q. Gylstorff" <Quirin.Gylstorff@siemens.com>:
> 
>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>
>> During system start it shall be possible to check all available file
>> systems. As debootstrap has no knowledge of the existing file system
>> it will not add all fsck.* application necessary to the initramfs.
>> This patch adds all file system types given by IMAGE_FILESYSTEM_TYPES
>> to the initramfs.
>>
>> File system types in IMAGE_FILESYSTEM_TYPES are separated with spaces.
>>
>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>> ---
>>  meta/classes/image.bbclass                    |  1 +
>>  .../files/initramfs.fsck.hook.tmpl            | 45
>> +++++++++++++++++++ .../initramfs-fsck-hook/files/postinst        |
>> 6 +++ .../initramfs-fsck-hook_0.1.bb                | 20 +++++++++
>>  4 files changed, 72 insertions(+)
>>  create mode 100644
>> meta/recipes-support/initramfs-fsck-hook/files/initramfs.fsck.hook.tmpl
>> create mode 100644
>> meta/recipes-support/initramfs-fsck-hook/files/postinst create mode
>> 100644
>> meta/recipes-support/initramfs-fsck-hook/initramfs-fsck-hook_0.1.bb
>>
>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>> index ec6bd39..4d1feac 100644
>> --- a/meta/classes/image.bbclass
>> +++ b/meta/classes/image.bbclass
>> @@ -4,6 +4,7 @@
>>  PF = "${PN}-${DISTRO}-${MACHINE}"
>>  
>>  IMAGE_INSTALL ?= ""
>> +IMAGE_FILESYSTEM_TYPES ?= "ext4"
>>  IMAGE_TYPE    ?= "ext4-img"
>>  IMAGE_ROOTFS ?= "${WORKDIR}/rootfs"
>>  
>> diff --git
>> a/meta/recipes-support/initramfs-fsck-hook/files/initramfs.fsck.hook.tmpl
>> b/meta/recipes-support/initramfs-fsck-hook/files/initramfs.fsck.hook.tmpl
>> new file mode 100644 index 0000000..366160a --- /dev/null
>> +++
>> b/meta/recipes-support/initramfs-fsck-hook/files/initramfs.fsck.hook.tmpl
>> @@ -0,0 +1,45 @@ +# This software is a part of ISAR.
>> +# Copyright (C) Siemens AG, 2019
>> +#
>> +# SPDX-License-Identifier: MIT
>> +
>> +#!/bin/sh
>> +PREREQ=""
>> +
>> +prereqs()
>> +{
>> +     echo "$PREREQ"
>> +}
>> +
>> +case $1 in
>> +prereqs)
>> +     prereqs
>> +     exit 0
>> +     ;;
>> +esac
>> +
>> +. /usr/share/initramfs-tools/scripts/functions
>> +. /usr/share/initramfs-tools/hook-functions
>> +
>> +if [ ! -x /sbin/fsck ]; then
>> +	echo "Warning: couldn't find /sbin/fsck!"
>> +	exit 0
>> +fi
>> +
>> +fsck_types="${IMAGE_FILESYSTEM_TYPES}"
>> +
>> +copy_exec /sbin/fsck
>> +copy_exec /sbin/logsave
>> +
>> +for type in $fsck_types; do
>> +	if [ "$type" = "unknown" ] ; then
>> +		echo "Warning: couldn't identify filesystem type for
>> fsck hook, ignoring."
>> +		continue
>> +	fi
>> +
>> +	if prog="$(command -v fsck.${type})"; then
>> +		copy_exec "$prog"
>> +	else
>> +		echo "Warning: /sbin/fsck.${type} doesn't exist,
>> can't install to initramfs, ignoring."
>> +	fi
>> +done
>> diff --git a/meta/recipes-support/initramfs-fsck-hook/files/postinst
>> b/meta/recipes-support/initramfs-fsck-hook/files/postinst new file
>> mode 100644 index 0000000..07bc3d9
>> --- /dev/null
>> +++ b/meta/recipes-support/initramfs-fsck-hook/files/postinst
>> @@ -0,0 +1,6 @@
>> +#!/bin/sh
>> +# This software is a part of ISAR.
>> +# Copyright (C) Siemens AG, 2019
>> +#
>> +# SPDX-License-Identifier: MIT
>> +update-initramfs -u
>> diff --git
>> a/meta/recipes-support/initramfs-fsck-hook/initramfs-fsck-hook_0.1.bb
>> b/meta/recipes-support/initramfs-fsck-hook/initramfs-fsck-hook_0.1.bb
>> new file mode 100644 index 0000000..e0da551 --- /dev/null
>> +++
>> b/meta/recipes-support/initramfs-fsck-hook/initramfs-fsck-hook_0.1.bb
>> @@ -0,0 +1,20 @@ +# This software is a part of ISAR.
>> +# Copyright (C) Siemens AG, 2019
>> +#
>> +# SPDX-License-Identifier: MIT
>> +
>> +
>> +DESCRIPTION = "Recipe to add fsck hook to the initramfs"
>> +
>> +inherit dpkg-raw
>> +SRC_URI = "file://postinst \
>> +           file://initramfs.fsck.hook.tmpl \
>> +          "
>> +
>> +TEMPLATE_VARS += "IMAGE_FILESYSTEM_TYPES"
>> +TEMPLATE_FILES += "initramfs.fsck.hook.tmpl"
>> +
>> +do_install() {
>> +        install -m 0755 -d ${D}/etc/initramfs-tools/hooks
>> +        install -m 0740 ${WORKDIR}/initramfs.fsck.hook
>> ${D}/etc/initramfs-tools/hooks/fsck.hook +}
> 

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de

           PGP key: 6FF2 E59F 00C6 BC28 31D8 64C1 1173 CB19 9808 B153
                             Keyserver: hkp://pool.sks-keyservers.net


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 850 bytes --]

      parent reply	other threads:[~2019-08-13 15:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-07  7:59 Q. Gylstorff
2019-08-13 14:36 ` Henning Schild
2019-08-13 15:01   ` Jan Kiszka
2019-08-14 16:31     ` Henning Schild
2019-08-19  7:00       ` Quirin Gylstorff
2019-08-22 13:07         ` [PATCH v2] " Q. Gylstorff
2019-09-04 12:32           ` Baurzhan Ismagulov
2019-08-13 15:31   ` Claudius Heine [this message]

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=f40110c1-65d0-9587-7172-c0e1dcf6e511@denx.de \
    --to=ch@denx.de \
    --cc=Quirin.Gylstorff@siemens.com \
    --cc=claudius.heine.ext@siemens.com \
    --cc=henning.schild@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