summaryrefslogtreecommitdiff
path: root/linux/linux.mk
diff options
context:
space:
mode:
authorStephan Hoffmann <sho@relinux.de>2012-03-17 10:46:55 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2012-03-18 22:55:18 +0100
commitaaed42d15643e0cb64c96fa400a6097a19d19ef4 (patch)
treea6649cbf74d73ac795db3733ad7d6180586d413c /linux/linux.mk
parentbb7788fd861026e7772bb4f6c096e0c955a4e28e (diff)
Microblaze: build kernel with device tree
This patch adds the options needed to build the SimpleImage containing the device tree structure needed for the Microblaze architecture. Handling Device Tree and SimpleImage will be handled in a general way in the future. I provide this patch to be able to build the system in the meantime. Signed-off-by: Stephan Hoffmann <sho@relinux.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'linux/linux.mk')
-rw-r--r--linux/linux.mk16
1 files changed, 16 insertions, 0 deletions
diff --git a/linux/linux.mk b/linux/linux.mk
index 58cbe8e92..c0334d2b7 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -117,6 +117,18 @@ endef
LINUX_POST_PATCH_HOOKS += LINUX_APPLY_PATCHES
+ifeq ($(KERNEL_ARCH),microblaze)
+# on microblaze, we always want mkimage
+LINUX_DEPENDENCIES+=host-uboot-tools
+
+define LINUX_COPY_DTS
+ if test -f "$(BR2_LINUX_KERNEL_DTS_FILE)" ; then \
+ cp $(BR2_LINUX_KERNEL_DTS_FILE) $(@D)/arch/microblaze/boot/dts ; \
+ else \
+ echo "Cannot copy dts file!" ; \
+ fi
+endef
+endif
ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
KERNEL_SOURCE_CONFIG = $(KERNEL_ARCH_PATH)/configs/$(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig
@@ -131,6 +143,8 @@ define LINUX_CONFIGURE_CMDS
$(if $(BR2_ARM_EABI),
$(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config),
$(call KCONFIG_DISABLE_OPT,CONFIG_AEABI,$(@D)/.config))
+ $(if $(BR2_microblaze),
+ $(call LINUX_COPY_DTS))
# As the kernel gets compiled before root filesystems are
# built, we create a fake cpio file. It'll be
# replaced later by the real cpio archive, and the kernel will be
@@ -215,6 +229,8 @@ $(LINUX_DIR)/.stamp_initramfs_rebuilt: $(LINUX_DIR)/.stamp_target_installed $(LI
$(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME)
# Copy the kernel image to its final destination
cp $(LINUX_IMAGE_PATH) $(BINARIES_DIR)
+ # If there is a .ub file copy it to the final destination
+ test -f $(LINUX_IMAGE_PATH).ub && cp $(LINUX_IMAGE_PATH).ub $(BINARIES_DIR)
$(Q)touch $@
# The initramfs building code must make sure this target gets called