فهرست منبع

linux: Add a load address option for building uImage on 3.7+ multi-platform kernels

[Peter: add quotes as suggested by Arnout]
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Julien Boibessot 12 سال پیش
والد
کامیت
8215e19b53
2فایلهای تغییر یافته به همراه18 افزوده شده و 0 حذف شده
  1. 13 0
      linux/Config.in
  2. 5 0
      linux/linux.mk

+ 13 - 0
linux/Config.in

@@ -213,6 +213,19 @@ config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
 	  Specify the kernel make target to build the kernel that you
 	  need.
 
+config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
+	string "load address (for 3.7+ multi-platform image)"
+	depends on BR2_arm || BR2_armeb
+	depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
+	help
+	  If your ARM system's Linux kernel is configured with the new (3.7+)
+	  multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
+	  kernel config), then it is necessary to specify a kernel load address
+	  when building the uImage. This should be a hexadecimal string
+	  beginning with 0x, for example: 0x00008000.
+
+	  If unsure, let this option empty.
+
 config BR2_LINUX_KERNEL_DTS_SUPPORT
 	bool "Device tree support"
 	help

+ 5 - 0
linux/linux.mk

@@ -95,6 +95,11 @@ LINUX_IMAGE_NAME=vmlinuz
 endif
 endif
 
+LINUX_KERNEL_UIMAGE_LOADADDR=$(call qstrip,$(BR2_LINUX_KERNEL_UIMAGE_LOADADDR))
+ifneq ($(LINUX_KERNEL_UIMAGE_LOADADDR),)
+LINUX_MAKE_FLAGS+=LOADADDR="$(LINUX_KERNEL_UIMAGE_LOADADDR)"
+endif
+
 ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y)
 LINUX_IMAGE_TARGET=zImage
 else