boot: provide CONFIG_BOOTMETH_QFW Kconfig parameter
U-Boot is often used conjunction with QEMU to boot via EFI or syslinux.
Here the QFW boot method is not needed.
At least for qemu-riscv64_smode_defconfig the kernel parameter is used
to specify the U-Boot binary. Trying to run U-Boot as a kernel makes
no sense.
Provide Kconfig parameter CONFIG_BOOTMETH_QFW to decide if the QFW boot
method shall be provided.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/boot/Kconfig b/boot/Kconfig
index 30d10cb..940389d 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -585,6 +585,15 @@
the EFI binary to be launched is determined. To set the EFI variables
use the eficonfig command.
+config BOOTMETH_QFW
+ bool "Boot method using QEMU parameters"
+ depends on QFW
+ default y
+ help
+ Use QEMU parameters -kernel, -initrd, -append to determine the kernel,
+ initial RAM disk, and kernel command line parameters to boot an
+ operating system. U-Boot's control device-tree is passed to the kernel.
+
config BOOTMETH_VBE
bool "Bootdev support for Verified Boot for Embedded"
depends on FIT
diff --git a/boot/Makefile b/boot/Makefile
index 75d1cd4..dff6f99 100644
--- a/boot/Makefile
+++ b/boot/Makefile
@@ -11,7 +11,6 @@
obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o
obj-$(CONFIG_PXE_UTILS) += pxe_utils.o
-obj-$(CONFIG_QFW) += bootmeth_qfw.o
endif
@@ -31,6 +30,7 @@
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_EXTLINUX_PXE) += bootmeth_pxe.o
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_EFILOADER) += bootmeth_efi.o
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_CROS) += bootm.o bootm_os.o bootmeth_cros.o
+obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_QFW) += bootmeth_qfw.o
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SANDBOX) += bootmeth_sandbox.o
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SCRIPT) += bootmeth_script.o
obj-$(CONFIG_$(SPL_TPL_)CEDIT) += cedit.o