From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 31 Aug 2023 23:17:20 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) 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 1qbp2X-00GMwU-Ft for lore@lore.pengutronix.de; Thu, 31 Aug 2023 23:17:20 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1qbp2U-00010O-BU; Thu, 31 Aug 2023 23:17:18 +0200 Received: from ptx.hi.pengutronix.de ([2001:67c:670:100:1d::c0]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qbp1y-00010G-7q for ptxdist@pengutronix.de; Thu, 31 Aug 2023 23:16:46 +0200 Received: from rhi by ptx.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1qbp1y-0007DY-0Y for ptxdist@pengutronix.de; Thu, 31 Aug 2023 23:16:46 +0200 Date: Thu, 31 Aug 2023 23:16:45 +0200 From: Roland Hieber To: ptxdist@pengutronix.de Message-ID: <20230831211645.sjri7pp3baj5zlxi@pengutronix.de> References: <20230823103409.2840820-1-rhi@pengutronix.de> <20230823104959.2870164-1-rhi@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230823104959.2870164-1-rhi@pengutronix.de> User-Agent: NeoMutt/20180716 Subject: Re: [ptxdist] [PATCH v2] ptxd_make_fit_image: pad FIT image to block size of 4096 bytes X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false On Wed, Aug 23, 2023 at 12:49:59PM +0200, Roland Hieber wrote: > Trying to flash a FIT image over fastboot often results in errors like > this: > > Invalid sparse file format at header magic > error: write_sparse_skip_chunk: don't care size 18394488 is not a multiple of the block size 4096 > error: write_sparse_skip_chunk: don't care size 10009976 is not a multiple of the block size 4096 > error: write_sparse_skip_chunk: don't care size 1625464 is not a multiple of the block size 4096 > [...] > FAILED (remote: 'writing sparse image: Invalid argument') > > The FIT image knows about its own size anyway, so to get around this > issue, we can simply pad the image to a multiple of 4 kiB to make it > work with the fastboot sparse magic. > > Suggested-by: Ahmad Fatoum For reference, Ahmad also posted a more detailed explanation and a patch addressing the situation on the barebox list: (However the problem still persists on other bootloaders.) - Roland > Signed-off-by: Roland Hieber > --- > v2: clean up the temp image too > --- > scripts/lib/ptxd_make_fit_image.sh | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/scripts/lib/ptxd_make_fit_image.sh b/scripts/lib/ptxd_make_fit_image.sh > index dd0f63b7b72d..8162195fdfa3 100644 > --- a/scripts/lib/ptxd_make_fit_image.sh > +++ b/scripts/lib/ptxd_make_fit_image.sh > @@ -139,6 +139,8 @@ ptxd_make_image_fit() { > echo "Generated device-tree for the fit image:" > cat "${its}" > fi && > - ptxd_exec mkimage -N pkcs11 -f "${its}" "${image_image}" -r "${sign_args[@]}" > + ptxd_exec mkimage -N pkcs11 -f "${its}" "${image_image}.tmp" -r "${sign_args[@]}" && > + ptxd_exec dd if="${image_image}.tmp" of="${image_image}" conv=sync bs=4k && > + ptxd_exec rm "${image_image}.tmp" > } > export -f ptxd_make_image_fit > -- > 2.39.2 > > > -- 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 |