[PATCH v2 00/27] Tidy up use of CONFIG_CMDLINE

Simon Glass sjg at chromium.org
Sun Oct 8 01:12:19 CEST 2023


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

-- 
2.42.0.609.gbb76f46606-goog



More information about the U-Boot mailing list