bootstd: Create a new BOOTMETH_DISTRO

We cannot be sure what bootmeth a distro will need to use. Add a new
BOOTMETH_DISTRO option which collects these together. Select this from
BOOTSTD_DEFAULTS so that it is clear what is needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Make BOOTMETH_EFILOADER depend on EFI_LOADER, select if EFI_LOADER]
Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/boot/Kconfig b/boot/Kconfig
index 3f8e407..eea5ed6 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -437,6 +437,7 @@
 	depends on BOOTSTD
 	imply USE_BOOTCOMMAND
 	select BOOT_DEFAULTS
+	select BOOTMETH_DISTRO
 	help
 	  These are not required but are commonly needed to support a good
 	  selection of booting methods. Enable this to improve the capability
@@ -493,7 +494,7 @@
 
 config BOOTMETH_EFILOADER
 	bool "Bootdev support for EFI boot"
-	depends on CMD_BOOTEFI
+	depends on EFI_LOADER
 	default y
 	help
 	  Enables support for EFI boot using bootdevs. This makes the
@@ -523,6 +524,13 @@
 	  supports selection of various firmware components, seleciton of an OS to
 	  boot as well as updating these using fwupd.
 
+config BOOTMETH_DISTRO
+	bool  # Options needed to boot any distro
+	select BOOTMETH_SCRIPT  # E.g. Armbian uses scripts
+	select BOOTMETH_EXTLINUX  # E.g. Debian uses these
+	select BOOTMETH_EXTLINUX_PXE if CMD_PXE && CMD_NET && DM_ETH
+	select BOOTMETH_EFILOADER if EFI_LOADER # E.g. Ubuntu uses this
+
 config SPL_BOOTMETH_VBE
 	bool "Bootdev support for Verified Boot for Embedded (SPL)"
 	depends on SPL && FIT