Browse Source

ar71xx: add relocation loader

Signed-off-by: Matthias Schiffer <[email protected]>
Matthias Schiffer 9 years ago
parent
commit
0d1fb72241
2 changed files with 15 additions and 0 deletions
  1. 9 0
      target/linux/ar71xx/image/Makefile
  2. 6 0
      target/linux/ar71xx/image/legacy.mk

+ 9 - 0
target/linux/ar71xx/image/Makefile

@@ -78,6 +78,15 @@ define Build/loader-okli
 	mv "[email protected]" "$@"
 endef
 
+define Build/relocate-kernel
+	( \
+		dd if=$(KDIR)/relocate.bin bs=32 conv=sync && \
+		perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
+		cat "$@" \
+	) > "[email protected]"
+	mv "[email protected]" "$@"
+endef
+
 define Build/copy-file
 	cat "$(1)" > "$@"
 endef

+ 6 - 0
target/linux/ar71xx/image/legacy.mk

@@ -1103,6 +1103,12 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
 	$(call Image/BuildLoader,generic,elf,,,-initramfs)
 endif
 	$(call Image/BuildLoader,generic,elf)
+
+	# Note: not only used for legacy images
+	rm -rf $(KDIR)/relocate
+	$(CP) ../../generic/image/relocate $(KDIR)
+	$(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
+	$(CP) $(KDIR)/relocate/loader.bin $(KDIR)/relocate.bin
 endef
 
 define Image/Prepare/Profile