public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Henning Schild <henning.schild@siemens.com>
To: "[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 16:36:15 +0200	[thread overview]
Message-ID: <20190813163615.0edcfa7c@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <20190807075908.17902-1-Quirin.Gylstorff@siemens.com>

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.

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 +}


  reply	other threads:[~2019-08-13 14:36 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 [this message]
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   ` [PATCH] " Claudius Heine

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=20190813163615.0edcfa7c@md1za8fc.ad001.siemens.net \
    --to=henning.schild@siemens.com \
    --cc=Quirin.Gylstorff@siemens.com \
    --cc=claudius.heine.ext@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