Linux26 requires "mkimage" from u-boot to be in the PATH
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Thu, 8 Jan 2009 22:58:30 +0000 (22:58 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Thu, 8 Jan 2009 22:58:30 +0000 (22:58 -0000)
if an uImage is to be built for arm, avr32, blackfin and sh.

PATH has therefore been set to have $(STAGING_DIR)/usr/bin
as the first item allowing linux to find mkimage.

This patch will, if an uImage is built, create a "u-boot-toĆ³ls"
directory in the PROJECT_BUILD_DIR directory.
$(STAGING_DIR)/usr/bin/mkimage is copied to this directory
and the PATH variable will now include "u-boot-tools"

If an uImage is built, then the linux build will now depend on "u-boot".

target/linux/Makefile.in.advanced

index e9483b94ac8c49880a3f0427cea8505fa7f37417..51ddf41132f68b607a142f8eb57662be274d1958 100644 (file)
@@ -126,6 +126,9 @@ endif
 # -----------------------------------------------------------------------------
 # Has to be set by the target/device
 
+LINUX26_MKIMAGE_DIR:=
+LINUX26_MKIMAGE_DEP:=
+
 # --------------
 # VMLINUX
 ifeq ($(LINUX26_FORMAT),vmlinux)
@@ -138,6 +141,8 @@ endif
 # --------------
 # UIMAGE
 ifeq ($(LINUX26_FORMAT),uImage)
+LINUX26_MKIMAGE_DIR:=$(PROJECT_BUILD_DIR)/u-boot-tools
+LINUX26_MKIMAGE_DEP:=linux26-mkimage
 ifeq ($(LINUX26_BINLOC),)
 LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
 endif
@@ -191,7 +196,7 @@ LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
        CROSS_COMPILE=$(KERNEL_CROSS) \
        LDFLAGS="$(TARGET_LDFLAGS)" \
        LZMA="$(LZMA)" \
-       PATH=$(STAGING_DIR)/usr/bin:$(PATH)
+       PATH=$(LINUX26_MKIMAGE_DIR):$(PATH)
 
 # =============================================================================
 # ifneq ($(strip $(LINUX26_VERSION)),$(strip $(LINUX_HEADERS_VERSION)))
@@ -380,7 +385,7 @@ endif
        touch $@
 
 # -----------------------------------------------------------------------------
-$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured
+$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured $(LINUX26_MKIMAGE_DEP)
        $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare
        touch $@
 
@@ -446,9 +451,15 @@ $(TARGET_DIR)/boot/busybox.config: $(BUSYBOX_DIR)/.config
        -mkdir -p /tftpboot
        -cp -dpf $(LINUX26_KERNEL) /tftpboot/$(LINUX26_KERNEL_NAME)
 
+ifneq ($(LINUX_COPYTO),/tftpboot)
 $(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
        mkdir -p $(LINUX_COPYTO)
        cp -dpf $(LINUX26_KERNEL) $(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME)
+endif
+
+linux26-mkimage:       u-boot
+       mkdir -p $(LINUX26_MKIMAGE_DIR)
+       cp $(MKIMAGE) $(LINUX26_MKIMAGE_DIR)
 
 linux26: $(LINUX26_TARGETS)