mostly revert commit r22396
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Jul 2010 21:19:49 +0000 (21:19 +0000)
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Jul 2010 21:19:49 +0000 (21:19 +0000)
CFE does not boot images generated with these checksums because of
wrong checksum.

After flashing then with tftp to my Asus wl500-GPv1 the following messages
are show:
Null Rescue Flag.
Boot program checksum is invalid
Hello!! Enter Rescue Mode: (Check error)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22418 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/brcm47xx/image/Makefile
tools/firmware-utils/src/trx.c

index f534f5f..69a31e7 100644 (file)
@@ -56,7 +56,7 @@ define trxalign/jffs2-64k
 -a 0x10000 -f $(KDIR)/root.$(1)
 endef
 define trxalign/squashfs
--a 1024 -f $(KDIR)/root.$(1) $(if $(2),-f $(2)) -a 0x10000 -F $(KDIR)/fs_mark
+-a 1024 -f $(KDIR)/root.$(1) $(if $(2),-f $(2)) -a 0x10000 -A $(KDIR)/fs_mark
 endef
 
 define Image/Build/trxV2
index 426a6b5..8e95d98 100644 (file)
@@ -276,7 +276,7 @@ int main(int argc, char **argv)
                                                (fsmark)?fsmark:cur_len - offsetof(struct trx_header, flag_version));
        p->crc32 = STORE32_LE(p->crc32);
 
-       p->len = (fsmark)?fsmark:cur_len - offsetof(struct trx_header, flag_version);
+       p->len = STORE32_LE((fsmark) ? fsmark : cur_len);
        p->len = STORE32_LE(p->len);
 
        /* restore TRXv2 bin-header */