From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 11 Oct 2023 11:45:41 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qqVmg-004JBI-2d for lore@lore.pengutronix.de; Wed, 11 Oct 2023 11:45:41 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1qqVme-0005G7-Rg; Wed, 11 Oct 2023 11:45:40 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qqVmc-0005FT-Dl for distrokit@pengutronix.de; Wed, 11 Oct 2023 11:45:38 +0200 Received: from [2a0a:edc0:2:b01:1d::c5] (helo=pty.whiteo.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qqVmc-000s8L-1Z for distrokit@pengutronix.de; Wed, 11 Oct 2023 11:45:38 +0200 Received: from rhi by pty.whiteo.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qqVmb-006PvH-Os for distrokit@pengutronix.de; Wed, 11 Oct 2023 11:45:37 +0200 Date: Wed, 11 Oct 2023 11:45:37 +0200 From: Roland Hieber To: distrokit@pengutronix.de Message-ID: <20231011094537.udtul6cs7y6f2d4t@pengutronix.de> References: <20231010191631.31141-1-rhi@pengutronix.de> <20231010191631.31141-5-rhi@pengutronix.de> <20231011094040.bne6otyq54xcgoru@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20231011094040.bne6otyq54xcgoru@pengutronix.de> Subject: Re: [DistroKit] [PATCH 5/6] images: remove qemu size hack X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false 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 > > > --- > > > .../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 |