From: Rafał Miłecki <zajec5@gmail.com>
Date: Tue, 21 Apr 2015 08:20:00 +0000 (+0000)
Subject: bcm53xx: append only 1 block (with erasing mark) to UBI
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=92875dbd3d58403bcafac2b6623b29eb3bb41d87;p=openwrt%2Fstaging%2Fsvanheule.git

bcm53xx: append only 1 block (with erasing mark) to UBI

This is needed as prepare_generic_squashfs generates more data (in our
case 0x40004 B) and it's complex for sysupgrade to extract UBI image out
of TRX.

Signed-off-by: Dan Haab <dhaab@luxul.com>

SVN-Revision: 45541
---

diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile
index b3f2cd8127..fb909c4629 100644
--- a/target/linux/bcm53xx/image/Makefile
+++ b/target/linux/bcm53xx/image/Makefile
@@ -14,6 +14,10 @@ define Image/Prepare
 	echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
 	$(call prepare_generic_squashfs,$(KDIR)/fs_mark)
 
+	# For UBI we want only one extra block
+	rm -f $(KDIR)/ubi_mark
+	echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark
+
 	$(CP) ./ubinize.cfg $(KDIR)
 endef
 
@@ -33,12 +37,14 @@ endef
 define Build/trx-nand
 	# kernel: always use 4 MiB (-28 B or TRX header) to allow upgrades even
 	#	  if it grows up between releases
+	# root: UBI with one extra block containing UBI mark to trigger erasing
+	#	rest of partition
 	$(STAGING_DIR_HOST)/bin/trx \
 		-o $@ \
 		-m 33554432 \
 		-f $(word 1,$^) -a 0x20000 -b 0x400000 \
-		-f $(KDIR)/root-block-0x20000-min-0x800.ubi -a 0x20000 \
-		-A $(KDIR)/fs_mark
+		-f $(KDIR)/root-block-0x20000-min-0x800.ubi \
+		-A $(KDIR)/ubi_mark -a 0x20000
 endef
 
 define Build/netgear-chk