ramips: fix Netgear EX2700 images
authorJoseph C. Lehner <joseph.c.lehner@gmail.com>
Sun, 29 May 2016 17:39:46 +0000 (19:39 +0200)
committerJohn Crispin <john@phrozen.org>
Fri, 27 May 2016 13:50:18 +0000 (15:50 +0200)
The bootloader on this device expects the kernel partition to end
on a 64k boundary. The last 64 byte of the kernel partition must
contain a valid uImage header (the fakeroot partition).

Signed-off-by: Joseph C. Lehner <joseph.c.lehner@gmail.com>
target/linux/ramips/image/mt7620.mk

index f236ba5ddd5f977898db88a142ca6534f3261251..d7acb1b8f97648f496ce069bb5064d02c0aaedc8 100644 (file)
@@ -7,13 +7,9 @@ define Build/tplink-header
                -o $@.new -k $@  && mv $@.new $@
 endef
 
-define Build/pad-ex2700
-       cat ex2700-fakeroot.uImage >> $@; cat ex2700-fakeroot.uImage >> $@;
-       dd if=$@ of=$@.new bs=64k conv=sync && truncate -s 128 $@.new && mv $@.new $@
-endef
-
-define Build/append-ex2700
-       cat ex2700-fakeroot.uImage >> $@
+define Build/pad-kernel-ex2700
+       dd if=$@ of=$@.new bs=64k conv=sync && truncate -s -64 $@.new \
+               && cat ex2700-fakeroot.uImage >> $@.new && mv $@.new $@
 endef
 
 define Build/netgear-header
@@ -58,7 +54,7 @@ define Device/ex2700
   DTS := EX2700
   IMAGE_SIZE := $(ex2700_mtd_size)
   IMAGES += factory.bin
-  KERNEL := $(KERNEL_DTB) | pad-ex2700 | uImage lzma | append-ex2700
+  KERNEL := $(KERNEL_DTB) | uImage lzma | pad-kernel-ex2700
   IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | netgear-header -B EX2700 -H 29764623+4+0+32+2x2+0
   DEVICE_TITLE := Netgear EX2700
 endef