
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 if CONFIG_CMDLINE is disabled, e.g. networking and most booting options. Further work is needed to make the option more generally useful.
Changes in v2: - Move AUTOBOOT_USE_MENUKEY under AUTOBOOT - Change this to use a Kconfig dependency instead of code failing - Add new patch to drop discarding of command linker-lists - Add new patch to unify the U_BOOT_ENV_LOCATION conditions - Rebase on Tom's LONGHELP series - Correct 'of' typo
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 test: Make UNIT_TEST depend on CMDLINE sifive: Change #ifdef for nop fastboot: Declare a dependency on CMDLINE cli: Always build cli_getch cmd: Use an #ifdef around run_commandf() Move bootmenu_conv_key() into its own file 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 arm: x86: Drop discarding of command linker-lists mmc: env: Unify the U_BOOT_ENV_LOCATION conditions sandbox: Add a test for disabling CONFIG_CMDLINE
Tom Rini (2): command.h: Add a U_BOOT_LONGHELP macro cmd: Convert existing long help messages to the new macro
arch/Kconfig | 6 +- arch/arm/cpu/u-boot.lds | 3 - arch/arm/lib/bootm.c | 2 + arch/arm/mach-imx/cmd_nandbcb.c | 6 +- arch/x86/cpu/u-boot-64.lds | 4 - arch/x86/cpu/u-boot-spl.lds | 4 - arch/x86/cpu/u-boot.lds | 4 - board/freescale/common/ngpixis.c | 6 +- .../work_92105/work_92105_display.c | 12 +- board/xilinx/common/fru.c | 7 +- board/xilinx/versal/cmds.c | 7 +- board/xilinx/zynq/cmds.c | 6 +- board/xilinx/zynqmp/cmds.c | 6 +- boot/Kconfig | 48 ++++--- boot/bootm.c | 10 +- boot/fdt_support.c | 5 + cmd/Kconfig | 25 ++-- cmd/Makefile | 2 +- cmd/acpi.c | 6 +- cmd/aes.c | 6 +- cmd/armffa.c | 4 +- cmd/axi.c | 4 +- cmd/bloblist.c | 6 +- cmd/bootcount.c | 9 +- cmd/bootdev.c | 6 +- cmd/bootefi.c | 6 +- cmd/bootflow.c | 9 +- cmd/booti.c | 6 +- cmd/bootm.c | 6 +- cmd/bootmeth.c | 6 +- cmd/bootz.c | 6 +- cmd/cat.c | 6 +- cmd/cedit.c | 6 +- cmd/clk.c | 6 +- cmd/conitrace.c | 4 +- cmd/cpu.c | 7 +- cmd/cyclic.c | 4 +- cmd/dm.c | 7 +- cmd/efidebug.c | 6 +- cmd/event.c | 6 +- cmd/fdt.c | 11 +- cmd/font.c | 6 +- cmd/help.c | 5 +- cmd/i2c.c | 6 +- cmd/kaslrseed.c | 6 +- cmd/log.c | 7 +- cmd/mp.c | 6 +- cmd/mtd.c | 6 +- cmd/mtdparts.c | 6 +- cmd/mux.c | 4 +- cmd/nand.c | 6 +- cmd/nvedit.c | 128 +---------------- cmd/osd.c | 4 +- cmd/pcap.c | 4 +- cmd/pci.c | 6 +- cmd/pci_mps.c | 6 +- cmd/riscv/sbi.c | 7 +- cmd/rng.c | 6 +- cmd/sandbox/exception.c | 5 +- cmd/scp03.c | 7 +- cmd/sf.c | 8 +- cmd/source.c | 9 +- cmd/ti/pd.c | 10 +- cmd/vbe.c | 6 +- cmd/wdt.c | 4 +- cmd/ximg.c | 6 +- cmd/xxd.c | 6 +- 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/Kconfig | 1 + drivers/video/Kconfig | 2 +- drivers/video/console_truetype.c | 4 + env/Makefile | 1 + env/env_set.c | 132 ++++++++++++++++++ env/mmc.c | 2 +- include/bootm.h | 15 +- include/command.h | 3 + include/env_internal.h | 23 +++ include/k210/pll.h | 2 +- lib/efi_loader/Kconfig | 2 + net/Kconfig | 1 + test/Kconfig | 1 + test/cmd_ut.c | 6 +- test/fuzz/cmd_fuzz.c | 7 +- test/py/tests/test_sandbox_opts.py | 20 +++ tools/buildman/builder.py | 2 +- tools/buildman/builderthread.py | 6 + tools/buildman/func_test.py | 4 +- 93 files changed, 462 insertions(+), 462 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