mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-27 15:33:28 +08:00
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>
This commit is contained in:
parent
bb7788fd86
commit
aaed42d156
@ -120,6 +120,14 @@ config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
|
||||
help
|
||||
Path to the kernel configuration file
|
||||
|
||||
config BR2_LINUX_KERNEL_DTS_FILE
|
||||
string "Device Tree dts file location"
|
||||
depends on BR2_microblaze
|
||||
help
|
||||
Path from where the dts file has to be copied
|
||||
The final "custom target" name depends on the
|
||||
dts file name:
|
||||
<name>.dts --> simpleImage.<name>
|
||||
#
|
||||
# Binary format
|
||||
#
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user