From: Roland Hieber <rhi@pengutronix.de>
To: distrokit@pengutronix.de
Subject: Re: [DistroKit] [PATCH 5/6] images: remove qemu size hack
Date: Wed, 11 Oct 2023 11:45:37 +0200 [thread overview]
Message-ID: <20231011094537.udtul6cs7y6f2d4t@pengutronix.de> (raw)
In-Reply-To: <20231011094040.bne6otyq54xcgoru@pengutronix.de>
On Wed, Oct 11, 2023 at 11:40:40AM +0200, Roland Hieber wrote:
> On Wed, Oct 11, 2023 at 08:51:15AM +0200, Michael Olbrich wrote:
> > On Tue, Oct 10, 2023 at 09:16:30PM +0200, Roland Hieber wrote:
> > > genimage knows about the 'size' option for images to fill the image to a
> > > certain size, and since genimage v14 it supports the 'fill' option to
> > > write all zeroes at the end of the image and not cut them off to
> > > optimise the image size. Use this to blow up the images that are used
> > > with qemu to the next power of two so qemu can work with them, and
> > > remove our invisible-partition-at-the-end hack.
> > >
> > > On MIPS, we also need to decrease the size of the last partition so that
> > > it still fits inside the specified image size, because the first MiB
> > > (when using 1 MiB alignment) is occupied by the partition table, so the
> > > first partition only starts at offset 1 MiB.
> > >
> > > Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> > > ---
> > > .../platform-mips/config/images/ar9331.config | 16 ++++------------
> > > configs/platform-mips/config/images/malta.config | 16 ++++------------
> > > .../platform-mipsel/config/images/malta.config | 16 ++++------------
> > > .../config/images/vexpress-nor.config | 10 +++-------
> > > .../platform-v7a/config/images/vexpress.config | 15 +++------------
> > > .../config/images/vexpress-nor.config | 10 +++-------
> > > .../config/images/vexpress.config | 15 +++------------
> > > 7 files changed, 24 insertions(+), 74 deletions(-)
> > >
> > > diff --git a/configs/platform-mips/config/images/ar9331.config b/configs/platform-mips/config/images/ar9331.config
> > > index 07125bea4c88..8012cf0f839d 100644
> > > --- a/configs/platform-mips/config/images/ar9331.config
> > > +++ b/configs/platform-mips/config/images/ar9331.config
> > > @@ -1,7 +1,10 @@
> > > image @IMAGE@ {
> > > + /* Note: qemu will complain if the SD card size is not a power of two */
> > > + size = 1G
> > > hdimage {
> > > align = 1M
> > > disk-signature = 0x74823abf
> > > + fill = true
> > > }
> > > partition root-A {
> > > image = root.ext2
> > > @@ -10,18 +13,7 @@ image @IMAGE@ {
> > > }
> > > partition data {
> > > partition-type = 0x83
> > > - size = 512M
> > > - }
> > > - /* genimage does not write zeros at the end of an image to save space,
> > > - * but the kernel in qemu will complain if the image file is smaller
> > > - * than the partition sizes. work around this by adding an empty
> > > - * partition at the end.
> > > - */
> > > - partition end {
> > > - image = /dev/null
> > > - size = 1M
> > > - offset = 1025M
> > > - in-partition-table = false
> > > + size = 511M
> >
> > The last partition can have a 'fill = true' property if the image size is
> > explicitly specified. That's better than calculating it manually.
>
> Apparently not…?
Ah. Because it was only added in genimage commit e123753a4f03, which is
not released yet, so PTXdist can't have it yet.
https://github.com/pengutronix/genimage/commit/e123753a4f03415dad7c
- Roland
>
> ----------------------
> target: vexpress.hdimg
> ----------------------
>
> 'next/configs/platform-v7a_noneon/config/images/vexpress.config' after substitutions:
> ----------------
> image vexpress.hdimg {
> /* Note: qemu will complain if the SD card size is not a power of two */
> size = 256M
> hdimage {
> align = 1M
> disk-signature = 0x74823abf
> fill = true
> }
> partition root-A {
> image = root.ext2
> partition-type = 0x83
> size = 192M
> }
> partition data {
> partition-type = 0x83
> fill = true
> }
> }
>
> /* vim: set tabstop=8 noexpandtab : */
> ----------------
>
> ptxdist: executing: genimage --loglevel 2 --rootpath /ptx/work/WORK_XUNGI/rhi/distrokit/next/platform-v7a_noneon/build-target/image-vexpress --tmppath /tmp/ptxdist.xhJOma/genimage.QTRARn --outputpath /ptx/work/WORK_XUNGI/rhi/distrokit/next/platform-v7a_noneon/images --inputpath /ptx/work/WORK_XUNGI/rhi/distrokit/next/platform-v7a_noneon/images --config /tmp/ptxdist.xhJOma/genimage-config.lptj9g/vexpress.config
>
> /tmp/ptxdist.xhJOma/genimage-config.lptj9g/vexpress.config:17: no such option 'fill'
> make: *** [/ptx/work/WORK_XUNGI/rhi/distrokit/next/configs/platform-v7a_noneon/rules/image-vexpress.make:28: /ptx/work/WORK_XUNGI/rhi/distrokit/next/platform-v7a_noneon/images/vexpress.hdimg] Error 1
>
>
> - Roland
>
> --
> Roland Hieber, Pengutronix e.K. | r.hieber@pengutronix.de |
> Steuerwalder Str. 21 | https://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
>
--
Roland Hieber, Pengutronix e.K. | r.hieber@pengutronix.de |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2023-10-11 9:45 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-10 19:16 [DistroKit] [PATCH 1/6] v7a: image-stm32mp: use 'partition-table-type' option instead of 'gpt' Roland Hieber
2023-10-10 19:16 ` [DistroKit] [PATCH 2/6] v7a: images: use 'partition-table-type' option instead of 'partition-table' Roland Hieber
2023-10-10 19:16 ` [DistroKit] [PATCH 3/6] v7a: barebox: pass root=mmcblkXpN instead of root=PARTUUID=… to kernel Roland Hieber
2023-10-10 19:16 ` [DistroKit] [PATCH 4/6] v7a: barebox: enable GUID Partition Table support Roland Hieber
2023-10-10 19:16 ` [DistroKit] [PATCH 5/6] images: remove qemu size hack Roland Hieber
2023-10-11 6:51 ` Michael Olbrich
2023-10-11 9:40 ` Roland Hieber
2023-10-11 9:45 ` Roland Hieber [this message]
2023-10-11 10:03 ` Roland Hieber
2023-10-10 19:16 ` [DistroKit] [PATCH 6/6] images: convert to GPT format Roland Hieber
2023-10-11 6:58 ` Michael Olbrich
2023-10-11 9:34 ` Roland Hieber
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=20231011094537.udtul6cs7y6f2d4t@pengutronix.de \
--to=rhi@pengutronix.de \
--cc=distrokit@pengutronix.de \
/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