ar71xx: image: add EOF marker to the WNDR4300 UBI image
authorGabor Juhos <juhosg@openwrt.org>
Thu, 7 Nov 2013 19:53:02 +0000 (19:53 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Thu, 7 Nov 2013 19:53:02 +0000 (19:53 +0000)
Append EOF markers to the END of the UBI image
file. This forces the kernel to erase all blocks
after the marker even if those blocks are not
empty.

Additionally, the resulting image can be flashed
from the original web UI now, so use '-factory'
suffix for that.

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

target/linux/ar71xx/image/Makefile

index 7f2ca28..583899e 100644 (file)
@@ -756,18 +756,15 @@ define Image/Build/NetgearNAND
        $(eval imageraw=$(KDIR_TMP)/$(2)-raw.img)
        $(CP) $(KDIR)/root.squashfs-raw $(KDIR_TMP)/root.squashfs
        echo -ne '\xde\xad\xc0\xde' > $(KDIR_TMP)/jffs2.eof
-       $(call ubinize,ubinize-$(2).ini,$(KDIR_TMP),$(KDIR_TMP)/$(2)-root.ubi,128KiB,2048)
-       # Create firmware image full of 0xff to use the UBIFS auto-resize function
-       firmwareblocks=$$$$(($(firmwaresize) / 131072)); \
-       dd if=/dev/zero bs=128k count=$$$${firmwareblocks} conv=sync | tr '\000' '\377' > $(imageraw)
-       # Insert Kernel and UBI image to rootfs and generate DNI image
-       dd if=$(KDIR_TMP)/vmlinux-$(2).uImage of=$(imageraw) conv=notrunc
-       kernelblocks=$$$$(($(kernelsize) / 131072)); \
-       dd if=$(KDIR_TMP)/$(2)-root.ubi of=$(imageraw) bs=128k seek=$$$${kernelblocks} conv=notrunc
+       $(call ubinize,ubinize-$(2).ini,$(KDIR_TMP),$(KDIR_TMP)/$(2)-root.ubi,128KiB,2048,-E 5)
+       ( \
+               dd if=$(KDIR_TMP)/vmlinux-$(2).uImage; \
+               dd if=$(KDIR_TMP)/$(2)-root.ubi \
+       ) > $(imageraw)
        $(STAGING_DIR_HOST)/bin/mkdniimg \
                -B $(6) -v OpenWrt.$(REVISION) -r "$$$$r" $(8) \
                -i $(imageraw) \
-               -o $(call imgname,ubi,$(2))-recovery.img
+               -o $(call imgname,ubi,$(2))-factory.img
 endef