[PATCH 00/25] Tidy up use of CONFIG_CMDLINE

Simon Glass sjg at chromium.org
Sun Sep 24 22:39:18 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 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

-- 
2.42.0.515.g380fc7ccd1-goog



More information about the U-Boot mailing list