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 8511bba..dee4407 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))