
It should be possible to disable CONFIG_CMDLINE and have all commands and related functionality dropped from U-Boot. This is useful when trying to reduce the size of U-Boot.
Recent changes have stopped this from working.
This series repairs the feature for sandbox and adds a test to stop it breaking again.
Note that quite a lot of functionality is lost of CONFIG_CMDLINE is disabled, e.g. networking and most booting options. Further work is needed to make the option more generally useful.
Simon Glass (25): buildman: Use oldconfig when adjusting the config bootstd: Correct dependencies on CMDLINE autoboot: Correct dependencies on CMDLINE cmd: Add a few more dependencies on CMDLINE treewide: Correct use of long help test: Make UNIT_TEST depend on CMDLINE tegra: Change #ifdef for nop fastboot: Avoid depending on CMDLINE cli: Always build cli_getch cmd: Use an #ifdef around run_commandf() Move bootmenu_conv_key() into its own file armffa: Correct command help condition pxe: Depend on CMDLINE env: Split out non-command code into a new file console: Move SYS_PBSIZE into common/ bootm: Allow building when cleanup functions are missing fdt: Move working_fdt into fdt_support net: Depend on CONFIG_CMDLINE log: Allow use without CONFIG_CMDLINE video: Allow use without CONFIG_CMDLINE video: Dont require the font command efi: Depend on CMDLINE for efi_loader cmd: Make all commands depend on CMDLINE sandbox: Avoid requiring cmdline sandbox: Add a test for disabling CONFIG_CMDLINE
arch/Kconfig | 6 +- arch/arm/lib/bootm.c | 2 + arch/arm/mach-imx/cmd_dek.c | 3 +- arch/arm/mach-imx/cmd_mfgprot.c | 3 +- arch/arm/mach-imx/imx8/snvs_security_sc.c | 10 ++ arch/arm/mach-stm32mp/cmd_stm32key.c | 2 + board/freescale/common/cmd_esbc_validate.c | 3 +- board/kontron/sl28/cmds.c | 2 + boot/Kconfig | 42 ++++--- boot/bootm.c | 10 +- boot/fdt_support.c | 5 + cmd/Kconfig | 25 ++-- cmd/Makefile | 2 +- cmd/adc.c | 2 + cmd/arm/exception.c | 2 + cmd/arm/exception64.c | 2 + cmd/armffa.c | 2 + cmd/axi.c | 2 + cmd/blob.c | 2 + cmd/cyclic.c | 2 + cmd/fdt.c | 5 - cmd/mux.c | 2 + cmd/nvedit.c | 122 +------------------ cmd/osd.c | 2 + cmd/pcap.c | 2 + cmd/riscv/exception.c | 2 + cmd/sandbox/exception.c | 2 + cmd/scp03.c | 2 + cmd/wdt.c | 2 + cmd/x86/exception.c | 2 + common/Kconfig | 5 + common/Makefile | 3 +- common/cli.c | 2 + common/cli_getch.c | 1 + common/log.c | 4 +- common/menu.c | 40 ------- common/menu_key.c | 49 ++++++++ drivers/fastboot/fb_command.c | 3 +- drivers/fastboot/fb_common.c | 15 ++- drivers/video/Kconfig | 2 +- drivers/video/console_truetype.c | 4 + env/Makefile | 1 + env/env_set.c | 132 +++++++++++++++++++++ include/bootm.h | 15 ++- include/env_internal.h | 23 ++++ include/k210/pll.h | 2 +- lib/efi_loader/Kconfig | 2 + net/Kconfig | 1 + test/Kconfig | 1 + test/py/tests/test_sandbox_opts.py | 20 ++++ tools/buildman/builder.py | 2 +- tools/buildman/builderthread.py | 6 + tools/buildman/func_test.py | 4 +- 53 files changed, 388 insertions(+), 221 deletions(-) create mode 100644 common/menu_key.c create mode 100644 env/env_set.c create mode 100644 test/py/tests/test_sandbox_opts.py