[PATCH] 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 --- boot/Kconfig | 7 ++++++- boot/Makefile | 3 +-- cmd/Kconfig | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/boot/Kconfig b/boot/Kconfig index 17438b566d..24cebd6d20 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -294,6 +294,11 @@ endif # SPL
endif # FIT
+config PXE_UTILS + bool + help + Utilities for parsing PXE file formats. + config BOOTSTD bool "Standard boot support" default y @@ -345,7 +350,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 d5f842136c..d2cc7318e0 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1823,6 +1823,7 @@ config CMD_ETHSW config CMD_PXE bool "pxe" select MENU + select PXE_UTILS help Boot image via network using PXE protocol
@@ -2004,6 +2005,7 @@ config CMD_SOUND config CMD_SYSBOOT bool "sysboot" select MENU + select PXE_UTILS help Boot image via local extlinux.conf file

Hi John,
On Thu, 21 Jul 2022 at 10:56, 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
boot/Kconfig | 7 ++++++- boot/Makefile | 3 +-- cmd/Kconfig | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-)
With this patch I got some build errors, for example:
Building current source for 1 boards (1 thread, 40 jobs per thread) powerpc: + qemu-ppce500 +powerpc-linux-ld.bfd: boot/pxe_utils.o: in function `pxe_menu_to_menu': +boot/pxe_utils.c:1442: undefined reference to `menu_create' +powerpc-linux-ld.bfd: boot/pxe_utils.c:1478: undefined reference to `menu_default_set' +powerpc-linux-ld.bfd: boot/pxe_utils.o: in function `handle_pxe_menu': +boot/pxe_utils.c:1539: undefined reference to `menu_get_choice' +powerpc-linux-ld.bfd: boot/pxe_utils.c:1540: undefined reference to `menu_destroy' +boot/pxe_utils.c:1453: undefined reference to `menu_item_add' +powerpc-linux-ld.bfd: boot/pxe_utils.c:1481: undefined reference to `menu_destroy'
Regards, Simon
participants (2)
-
John Keeping
-
Simon Glass