ar71xx: add relocation loader
[openwrt/openwrt.git] / target / linux / ar71xx / image / Makefile
index ced1610aa6e3b27358cc417678f067b130a5cdf4..56e07d82f3338d2fe2b05a495a2297818372b80e 100644 (file)
@@ -10,8 +10,6 @@ JFFS2_BLOCKSIZE = 64k 128k 256k
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-IMAGE_PROFILE:=$(if $(PROFILE),$(PROFILE),Default)
-
 KERNEL_LOADADDR = 0x80060000
 
 DEVICE_VARS += NETGEAR_KERNEL_MAGIC NETGEAR_BOARD_ID NETGEAR_HW_ID CMDLINE CONSOLE IMAGE_SIZE BOARDNAME LOADER_FLASH_OFFS LOADER_TYPE
@@ -20,6 +18,7 @@ ifeq ($(SUBTARGET),generic)
 include ./tp-link.mk
 include ./ubnt.mk
 include ./generic.mk
+include ./legacy-devices.mk
 endif
 ifeq ($(SUBTARGET),nand)
 include ./nand.mk
@@ -79,6 +78,15 @@ define Build/loader-okli
        mv "$@.new" "$@"
 endef
 
+define Build/relocate-kernel
+       ( \
+               dd if=$(KDIR)/relocate.bin bs=32 conv=sync && \
+               perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
+               cat "$@" \
+       ) > "$@.new"
+       mv "$@.new" "$@"
+endef
+
 define Build/copy-file
        cat "$(1)" > "$@"
 endef
@@ -95,7 +103,7 @@ define Device/Default
   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
   COMPILE :=
   IMAGES := sysupgrade.bin
-  IMAGE/sysupgrade.bin = append-kernel $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+  IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
 endef
 
 $(eval $(call BuildImage))