ar71xx: image: add EOF marker to the WNDR4300 UBI image

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
This commit is contained in:
Gabor Juhos 2013-11-07 19:53:02 +00:00
parent ca4c33abb9
commit 18d08da07d

View 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