public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Henning Schild <henning.schild@siemens.com>
To: Joe MacDonald <joe_macdonald@mentor.com>
Cc: isar-users@googlegroups.com, joe.macdonald@siemens.com
Subject: Re: [PATCH v2] expand-on-first-boot: support resizing a btrfs root
Date: Mon, 25 Oct 2021 10:22:40 +0200	[thread overview]
Message-ID: <20211025102240.427b8ad4@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <20211025101054.4455adca@md1za8fc.ad001.siemens.net>

Am Mon, 25 Oct 2021 10:10:54 +0200
schrieb Henning Schild <henning.schild@siemens.com>:

> Yes, good addition! But it would be even better if we had it running
> in CI. We could switch one target over to btrfs by providing an
> example wks file, one that boots an image in qemu.
> That way we would have a btrfs example in the tree and get confident
> that wic will do things as i would hope for.
> 
> Am Fri, 22 Oct 2021 15:50:47 -0400
> schrieb Joe MacDonald <joe_macdonald@mentor.com>:
> 
> > resize2fs fails if the build sets the root filesystem for an image
> > to btrfs though the partition is expanded properly. Since the rest
> > of the script works as intended, simply checking the last partition
> > type with lsblk and adding `btrfs resize` instead of `resize2fs` in
> > the appropriate circumstance allows everything to function as
> > expected.
> > 
> > Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
> > ---
> >  .../files/expand-last-partition.sh            | 22
> > ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-)
> > 
> > diff --git
> > a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh
> > b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh
> > index 7175dfd..6975d9c 100755 ---
> > a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh
> > +++
> > b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh
> > @@ -36,8 +36,20 @@ sfdisk -d "${BOOT_DEV}" 2>/dev/null | \ # Inform
> > the kernel about the partitioning change partx -u "${LAST_PART}" -#
> > Do not fail resize2fs if no mtab entry is found, e.g., -# when using
> > systemd mount units. -export EXT2FS_NO_MTAB_OK=1
> > -
> > -resize2fs "${LAST_PART}"
> > +# Determine the filesystem type and perform the appropriate resize
> > function +ROOTFS_TYPE=$(lsblk -fno FSTYPE ${ROOT_DEV})
> > +case ${ROOTFS_TYPE} in
> > +   ext* )
> > +      # Do not fail resize2fs if no mtab entry is found, e.g.,
> > +      # when using systemd mount units.
> > +      export EXT2FS_NO_MTAB_OK=1
> > +      resize2fs "${LAST_PART}"
> > +      ;;
> > +   btrfs )
> > +      btrfs filesystem resize max /  
> 
> Need to do something to "DEBIAN_DEPENDS", maybe "e2fsprogs" ->
> "e2fsprogs | btrfs-progs".

It is in fact more complicated than that. The two "progs" should not
both be depended on, because we would install too much stuff. We can
not use "|" because we will not know which one we get. Say one was
installed for any other reason, the one we need for rootfs might not
get pulled in.
Recommends would be better, but isar will not pull them. (still would
be an idea to be "correct")

We could also spit out two packages "expand-on-first-boot-ext|btrfs"
but that does not scale well for the next fs to cover.

So i would say "Recommends: e2fsprogs, btrfs-progs" and make that
script "command -v" and cry. Maybe keeping e2fsprogs in a first patch,
and removing it from Depends in a second interface-breaking patch.

regards,
Henning

> > +      ;;
> > +   * )
> > +      echo "Unrecognized filesystem type ${ROOTFS_TYPE} - no resize
> > performed"
> > +      exit 1
> > +      ;;
> > +esac  
> 


  reply	other threads:[~2021-10-25  8:22 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-22 18:01 [PATCH] " Joe MacDonald
2021-10-22 18:19 ` Jan Kiszka
2021-10-22 19:50   ` Joe MacDonald
2021-10-22 19:50   ` [PATCH v2] " Joe MacDonald
2021-10-25  8:10     ` Henning Schild
2021-10-25  8:22       ` Henning Schild [this message]
2022-04-22  7:57     ` Henning Schild
2022-04-22  9:06       ` Jan Kiszka
2022-12-09 15:40     ` Henning Schild
2022-12-10  3:28       ` Roberto A. Foglietta
2022-12-10 16:29         ` Henning Schild
2022-12-10 20:37           ` Roberto A. Foglietta
2022-12-12 15:24     ` Henning Schild
2022-12-12 17:48       ` Roberto A. Foglietta
2022-12-13  2:10       ` Moessbauer, Felix
2022-12-13  6:02         ` Roberto A. Foglietta

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=20211025102240.427b8ad4@md1za8fc.ad001.siemens.net \
    --to=henning.schild@siemens.com \
    --cc=isar-users@googlegroups.com \
    --cc=joe.macdonald@siemens.com \
    --cc=joe_macdonald@mentor.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