[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