[PATCH] base-files: fix nand_upgrade_ubinized()

Koen Vandeputte koen.vandeputte at citymesh.com
Tue Apr 11 05:31:55 PDT 2023


On Tue, Apr 11, 2023 at 10:33 AM Koen Vandeputte
<koen.vandeputte at citymesh.com> wrote:
>
> On Tue, Apr 11, 2023 at 1:36 AM Lanchon <lanchon at gmail.com> wrote:
> >
> >
> >
> > On 4/10/23 15:38, Daniel Golle wrote:
> > > On Mon, Apr 10, 2023 at 07:01:35PM +0200, Rafał Miłecki wrote:
> > >> From: Rafał Miłecki <rafal at milecki.pl>
> > >>
> > >> When using "ubiformat" with stdin it requires passing image size using
> > >> the -S argument. Provide it just like we do for "ubiupdatevol".
> > >>
> > >> This fixes:
> > >> ubiformat: error!: must use '-S' with non-zero value when reading from stdin
> > >>
> > >> This change fixes sysupgrade for bcm53xx and bcm4908 NAND devices
> > >> possibly some other targets too.
> > >>
> > >> Cc: Rodrigo Balerdi <lanchon at gmail.com>
> > >> Cc: Daniel Golle <daniel at makrotopia.org>
> > >> Fixes: 971071212052 ("base-files: accept gzipped nand sysupgrade images")
> > >> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
> > > Acked-by: Daniel Golle <daniel at makrotopia.org>
> > >
> > > Please apply asap.
> >
> > (Dan, do you want me to PR?)
> >
> > hi Rafa, thanks!
> >
> > i wonder how it is possible that the code as is worked for me; i tested
> > many times with compressed ubinized image.
> >
> >
> > >
> > >> ---
> > >>   package/base-files/files/lib/upgrade/nand.sh | 4 +++-
> > >>   1 file changed, 3 insertions(+), 1 deletion(-)
> > >>
> > >> diff --git a/package/base-files/files/lib/upgrade/nand.sh b/package/base-files/files/lib/upgrade/nand.sh
> > >> index 907945b349..fa29d575a8 100644
> > >> --- a/package/base-files/files/lib/upgrade/nand.sh
> > >> +++ b/package/base-files/files/lib/upgrade/nand.sh
> > >> @@ -261,10 +261,12 @@ nand_upgrade_ubinized() {
> > >>      local ubi_file="$1"
> > >>      local gz="$2"
> > >>
> > >> +    local ubi_length=$( (${gz}cat "$ubi_file" | wc -c) 2> /dev/null)
> > >> +
> > >>      nand_detach_ubi "$CI_UBIPART" || return 1
> > >>
> > >>      local mtdnum="$( find_mtd_index "$CI_UBIPART" )"
> > >> -    ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -y -f - && ubiattach -m "$mtdnum"
> > >> +    ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -S "$ubi_length" -y -f - && ubiattach -m "$mtdnum"
> > >>   }
> > >>
> > >>   # Write the UBIFS image to UBI rootfs volume
> > >> --
> > >> 2.34.1
> > >>
>
> I wonder if this also fixes the sysupgrade issues I reported on imx6 ..
> Will test today

Yep .. it also fixes the upgrade issue on imx6 boards.
Thanks!

Tested-by: Koen Vandeputte <koen.vandeputte at citymesh.com>



More information about the openwrt-devel mailing list