diff --git a/boot/Config.in b/boot/Config.in index a55139be13..eb5f7cd67b 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -4,6 +4,7 @@ source "boot/at91bootstrap/Config.in" source "boot/at91bootstrap3/Config.in" source "boot/at91dataflashboot/Config.in" source "boot/barebox/Config.in" +source "boot/boot-wrapper-aarch64/Config.in" source "boot/grub/Config.in" source "boot/lpc32xxcdl/Config.in" source "boot/mxs-bootlets/Config.in" diff --git a/boot/boot-wrapper-aarch64/Config.in b/boot/boot-wrapper-aarch64/Config.in new file mode 100644 index 0000000000..6546862964 --- /dev/null +++ b/boot/boot-wrapper-aarch64/Config.in @@ -0,0 +1,31 @@ +config BR2_TARGET_BOOT_WRAPPER_AARCH64 + bool "boot-wrapper-aarch64" + depends on BR2_aarch64 + depends on BR2_LINUX_KERNEL + help + The boot-wrapper-aarch64 is a small bootloader that makes it + possible to start an Aarch64 kernel inside the available + software simulators for the Aarch64 architecture. + + git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git + +if BR2_TARGET_BOOT_WRAPPER_AARCH64 + +config BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS + string "Device Tree Source name" + default "" + help + Name of the Device Tree Source file to use to generate the + Device Tree Blob that will be embedded in the image + generated by the boot wrapper. Valid names are the .dts + files from arch/arm64/boot/dts/ in the kernel source + tree. The name must be specified without the .dts suffix. + +config BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS + string "Kernel bootargs" + default "" + help + Kernel bootargs to embed inside the image generated by the + boot wrapper. + +endif diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk new file mode 100644 index 0000000000..25c6bed76b --- /dev/null +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -0,0 +1,29 @@ +############################################################# +# +# boot-wrapper-aarch64 +# +############################################################# + +BOOT_WRAPPER_AARCH64_VERSION = 26b62f586020fd998c6efd43db657eaafeec14da +BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_LICENSE = BSD3c +BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt +BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux +BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES + +BOOT_WRAPPER_AARCH64_DTS = $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS)) + +define BOOT_WRAPPER_AARCH64_BUILD_CMDS + $(MAKE) \ + KERNEL=$(BINARIES_DIR)/Image \ + DTC=$(LINUX_DIR)/scripts/dtc/dtc \ + FDT_SRC=$(LINUX_DIR)/arch/arm64/boot/dts/$(BOOT_WRAPPER_AARCH64_DTS).dts \ + CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ + BOOTARGS='$(BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS)' -C $(@D) +endef + +define BOOT_WRAPPER_AARCH64_INSTALL_IMAGES_CMDS + cp $(@D)/linux-system.axf $(BINARIES_DIR) +endef + +$(eval $(generic-package))