diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2016-10-11 20:32:25 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2016-10-11 20:39:16 +0200 |
commit | 0d1fb7224196d1e4c829687550b343546829d760 (patch) | |
tree | b9bf71d0d66d230778a6ff14214b78fb39a4fdb6 | |
parent | fce0b5d8938ae900057766679139e6eb8b0f8c54 (diff) | |
download | upstream-0d1fb7224196d1e4c829687550b343546829d760.tar.gz upstream-0d1fb7224196d1e4c829687550b343546829d760.tar.bz2 upstream-0d1fb7224196d1e4c829687550b343546829d760.zip |
ar71xx: add relocation loader
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-rw-r--r-- | target/linux/ar71xx/image/Makefile | 9 | ||||
-rw-r--r-- | target/linux/ar71xx/image/legacy.mk | 6 |
2 files changed, 15 insertions, 0 deletions
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index bce5cd3774..56e07d82f3 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -78,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 diff --git a/target/linux/ar71xx/image/legacy.mk b/target/linux/ar71xx/image/legacy.mk index 92f3469b73..ed01dc77c1 100644 --- a/target/linux/ar71xx/image/legacy.mk +++ b/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 |