ar71xx: image: fix CyberTAN sysupgrade images
authorGabor Juhos <juhosg@openwrt.org>
Sat, 30 Nov 2013 18:30:59 +0000 (18:30 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sat, 30 Nov 2013 18:30:59 +0000 (18:30 +0000)
In the current sysupgrade images, the CRC32 value of
the TRX header covers the whole rootfs data. Due to
this, the CRC value should be changed during sysupgrade
otherwise the bootloader refuses to load the image on
the next boot.

Change the image generation to create sysupgrade images
where the CRC32 value covers the kernel data only. This
allows to skip the 'fixtrx' step during sysupgrade on
the target.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38964

target/linux/ar71xx/image/Makefile

index 8511bba350337e292d58195a882948b53c432ebf..dee44077bfabf1bc4f05791ae96eed97288ce2da 100644 (file)
@@ -668,11 +668,15 @@ Image/Build/CyberTAN/loader=$(call Image/BuildLoader,$(1),gz,$(2),0x80060000)
 Image/Build/CyberTAN/buildkernel=$(call MkuImage,gzip,,$(KDIR)/loader-$(2).gz,$(KDIR_TMP)/vmlinux-$(2).uImage)
 
 define Image/Build/CyberTAN
-       $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR_TMP)/vmlinux-$(2).uImage \
+       echo -n '' > $(KDIR_TMP)/empty.bin
+       $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp \
+               -f $(KDIR_TMP)/vmlinux-$(2).uImage -F $(KDIR_TMP)/empty.bin \
                -x 32 -a 0x10000 -x -32 -f $(KDIR)/root.$(1)
        -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) \
                -i $(KDIR)/image.tmp \
                -o $(call sysupname,$(1),$(2))
+       $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR_TMP)/vmlinux-$(2).uImage \
+               -x 32 -a 0x10000 -x -32 -f $(KDIR)/root.$(1)
        -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) -g \
                -i $(KDIR)/image.tmp \
                -o $(call factoryname,$(1),$(2))