[openwrt/openwrt] uboot-mediatek: support getting legacy uImage size

LEDE Commits lede-commits at lists.infradead.org
Fri Jul 18 18:59:50 PDT 2025


dangole pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/bc62080529756f4ad9958fd858af905530a122e0

commit bc62080529756f4ad9958fd858af905530a122e0
Author: Shiji Yang <yangshiji66 at outlook.com>
AuthorDate: Thu Jul 10 00:35:29 2025 +0800

    uboot-mediatek: support getting legacy uImage size
    
    Most ramips target devices use the legacy uImage format. This
    patch extends the imsz/imszb commands to support detecting the
    image size of legacy uImage.
    
    Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
---
 .../patches/200-cmd-add-imsz-and-imszb.patch       | 25 +++++++++++++++-------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/package/boot/uboot-mediatek/patches/200-cmd-add-imsz-and-imszb.patch b/package/boot/uboot-mediatek/patches/200-cmd-add-imsz-and-imszb.patch
index 27cea2fa4e..9872ccbf26 100644
--- a/package/boot/uboot-mediatek/patches/200-cmd-add-imsz-and-imszb.patch
+++ b/package/boot/uboot-mediatek/patches/200-cmd-add-imsz-and-imszb.patch
@@ -1,17 +1,16 @@
 --- a/cmd/bootm.c
 +++ b/cmd/bootm.c
-@@ -260,6 +260,67 @@ U_BOOT_CMD(
+@@ -260,6 +260,76 @@ U_BOOT_CMD(
  /* iminfo - print header info for a requested image */
  /*******************************************************************/
  #if defined(CONFIG_CMD_IMI)
-+#if defined(CONFIG_FIT)
 +#define SECTOR_SHIFT 9
 +static int image_totalsize(struct cmd_tbl *cmdtp, int flag, int argc,
 +			   char *const argv[], short int in_blocks)
 +{
 +	ulong addr;
-+	void *fit;
-+	int bsize, tsize;
++	void *hdr;
++	uint32_t bsize, tsize = 0;
 +	char buf[16];
 +
 +	if (argc >= 2)
@@ -19,9 +18,20 @@
 +	else
 +		addr = image_load_addr;
 +
-+	fit = (void *)map_sysmem(addr, 0);
-+	tsize = fit_get_totalsize(fit);
-+	unmap_sysmem(fit);
++	hdr = (void *)map_sysmem(addr, 0);
++
++	switch (genimg_get_format(hdr)) {
++	case IMAGE_FORMAT_LEGACY:
++		if(CONFIG_IS_ENABLED(LEGACY_IMAGE_FORMAT))
++			tsize = image_get_image_size(hdr);
++		break;
++	case IMAGE_FORMAT_FIT:
++		if(CONFIG_IS_ENABLED(FIT))
++			tsize = fit_get_totalsize(hdr);
++		break;
++	}
++
++	unmap_sysmem(hdr);
 +	if (tsize == 0)
 +		return 1;
 +
@@ -64,7 +74,6 @@
 +	"addr [maxhdrlen] [varname]\n"
 +);
 +
-+#endif
  static int do_iminfo(struct cmd_tbl *cmdtp, int flag, int argc,
  		     char *const argv[])
  {




More information about the lede-commits mailing list