summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-10-14 12:21:41 +0000
committerJohn Crispin <john@openwrt.org>2014-10-14 12:21:41 +0000
commit70def60b04eff44a9e06e414b0136d7f789290c2 (patch)
tree3a63ce4dd9a094eff4ea289b0236344b5682711a
parent24a0269b717a28c6aad18fd233cac905205c2bf6 (diff)
downloadmaster-31e0f0ae-70def60b04eff44a9e06e414b0136d7f789290c2.tar.gz
master-31e0f0ae-70def60b04eff44a9e06e414b0136d7f789290c2.tar.bz2
master-31e0f0ae-70def60b04eff44a9e06e414b0136d7f789290c2.zip
ar71xx: fix seama factory type image generation.
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@gmail.com> SVN-Revision: 42915
-rw-r--r--target/linux/ar71xx/image/Makefile6
1 files changed, 4 insertions, 2 deletions
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index c307abef85..78e2d705ce 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 \