[PATCH v2] boot: allow bootmeth-distro without CONFIG_NET

Remove the dependency on CMD_PXE from BOOTMETH_DISTRO by introducing a new hidden kconfig symbol to control whether pxe_utils is compiled, allowing bootstd's distro method to be compiled without needing networking support enabled.
Signed-off-by: John Keeping john@metanate.com --- v2: - Fix MENU dependency for PXE_UTILS
boot/Kconfig | 8 +++++++- boot/Makefile | 3 +-- cmd/Kconfig | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/boot/Kconfig b/boot/Kconfig index 59d0c65c94..460f13e5cb 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -294,6 +294,12 @@ endif # SPL
endif # FIT
+config PXE_UTILS + bool + select MENU + help + Utilities for parsing PXE file formats. + config BOOTSTD bool "Standard boot support" default y @@ -345,7 +351,7 @@ config BOOTSTD_BOOTCOMMAND
config BOOTMETH_DISTRO bool "Bootdev support for distro boot" - depends on CMD_PXE + select PXE_UTILS default y help Enables support for distro boot using bootdevs. This makes the diff --git a/boot/Makefile b/boot/Makefile index a70674259c..124065a03f 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -10,8 +10,7 @@ obj-$(CONFIG_CMD_BOOTM) += bootm.o bootm_os.o obj-$(CONFIG_CMD_BOOTZ) += bootm.o bootm_os.o obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o
-obj-$(CONFIG_CMD_PXE) += pxe_utils.o -obj-$(CONFIG_CMD_SYSBOOT) += pxe_utils.o +obj-$(CONFIG_PXE_UTILS) += pxe_utils.o
endif
diff --git a/cmd/Kconfig b/cmd/Kconfig index a8260aa170..29d9b4008b 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1825,7 +1825,7 @@ config CMD_ETHSW
config CMD_PXE bool "pxe" - select MENU + select PXE_UTILS help Boot image via network using PXE protocol
@@ -2006,7 +2006,7 @@ config CMD_SOUND
config CMD_SYSBOOT bool "sysboot" - select MENU + select PXE_UTILS help Boot image via local extlinux.conf file

On Thu, Jul 28, 2022 at 11:19:15AM +0100, John Keeping wrote:
Remove the dependency on CMD_PXE from BOOTMETH_DISTRO by introducing a new hidden kconfig symbol to control whether pxe_utils is compiled, allowing bootstd's distro method to be compiled without needing networking support enabled.
Signed-off-by: John Keeping john@metanate.com
Reviewed-by: Tom Rini trini@konsulko.com

On Thu, 28 Jul 2022 at 04:19, John Keeping john@metanate.com wrote:
Remove the dependency on CMD_PXE from BOOTMETH_DISTRO by introducing a new hidden kconfig symbol to control whether pxe_utils is compiled, allowing bootstd's distro method to be compiled without needing networking support enabled.
Signed-off-by: John Keeping john@metanate.com
v2:
- Fix MENU dependency for PXE_UTILS
boot/Kconfig | 8 +++++++- boot/Makefile | 3 +-- cmd/Kconfig | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

On Thu, 28 Jul 2022 at 04:19, John Keeping john@metanate.com wrote:
Remove the dependency on CMD_PXE from BOOTMETH_DISTRO by introducing a new hidden kconfig symbol to control whether pxe_utils is compiled, allowing bootstd's distro method to be compiled without needing networking support enabled.
Signed-off-by: John Keeping john@metanate.com
v2:
- Fix MENU dependency for PXE_UTILS
boot/Kconfig | 8 +++++++- boot/Makefile | 3 +-- cmd/Kconfig | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot-dm, thanks!

Hi,
On Sun, 7 Aug 2022 at 07:10, Simon Glass sjg@chromium.org wrote:
On Thu, 28 Jul 2022 at 04:19, John Keeping john@metanate.com wrote:
Remove the dependency on CMD_PXE from BOOTMETH_DISTRO by introducing a new hidden kconfig symbol to control whether pxe_utils is compiled, allowing bootstd's distro method to be compiled without needing networking support enabled.
Signed-off-by: John Keeping john@metanate.com
v2:
- Fix MENU dependency for PXE_UTILS
boot/Kconfig | 8 +++++++- boot/Makefile | 3 +-- cmd/Kconfig | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot-dm, thanks!
Note that I had to fix a few build errors by adding a CMD_BOOTM condition as noted in the commit message.
Regards, Simon
participants (3)
-
John Keeping
-
Simon Glass
-
Tom Rini