[OpenWrt-Devel] [RFC] ar71xx: fix seama factory type image generation.

Yousong Zhou yszhou4tech at gmail.com
Sun Sep 28 08:03:31 EDT 2014


Add Gabor Juhos and Felix Kaechele to cc list.

I tend to think this patch can and should be merged as it is clear
that firmwares generated by current method won't work anyway.

On 14 September 2014 22:07, Yousong Zhou <yszhou4tech at gmail.com> wrote:
> Currently JFFS2 end-of-filesystem marker 0xdeadc0de is included the
> computation of image's MD5 checksum as part of the seama header.  But
> OpenWrt will erase blocks including and after the marker thus
> invalidating the checksum after the first boot.
>
> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
> ---
> This has been tested on Qihoo C301 by flashing through OEM U-Boot.  Other
> devices including MyNet-N600 and MyNet-N750 may need to be tested.
>
>  target/linux/ar71xx/image/Makefile |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
> index b374391..bce8eb8 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -673,13 +673,15 @@ define Image/Build/Seama
>         -rm -f $(KDIR_TMP)/image-$(2).tmp
>         $(call CatFiles,$(KDIR_TMP)/loader-$(2).bin.lzma,$$$$(($(6) - 64)),$(KDIR)/root.$(1),$(7),$(KDIR_TMP)/image-$(2).tmp)
>         [ -e "$(KDIR_TMP)/image-$(2).tmp" ] && { \
> +               head -c -4 "$(KDIR_TMP)/image-$(2).tmp" > "$(KDIR_TMP)/image-$(2).no-jffs2mark.tmp"; \
>                 $(STAGING_DIR_HOST)/bin/seama \
> -               -i $(KDIR_TMP)/image-$(2).tmp \
> +               -i $(KDIR_TMP)/image-$(2).no-jffs2mark.tmp \
>                 -m "dev=/dev/mtdblock/1" -m "type=firmware"; \
>                 $(STAGING_DIR_HOST)/bin/seama \
>                         -s $(call imgname,$(1),$(2))-factory.bin \
>                         -m "signature=$(5)" \
> -                       -i $(KDIR_TMP)/image-$(2).tmp.seama; \
> +                       -i $(KDIR_TMP)/image-$(2).no-jffs2mark.tmp.seama; \
> +               tail -c 4 "$(KDIR_TMP)/image-$(2).tmp" >> $(call imgname,$(1),$(2))-factory.bin; \
>         }
>         cat $(KDIR_TMP)/loader-$(2).bin.lzma > $(KDIR_TMP)/image-$(2)-sysupgrade.tmp
>         $(STAGING_DIR_HOST)/bin/seama \
> --
> 1.7.10.4
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list