[PATCH v3 00/32] Tidy up use of CONFIG_CMDLINE
Simon Glass
sjg at chromium.org
Tue Oct 17 00:27:51 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 v3:
- Reword commit message slightly
- Add an explation as to why this patch is here
- Fix 'ut' typo
- Just drop the condition instead
- Add new patch to rearrange the Kconfig for CMD_BOOTEFI_BOOTMGR
- Add new patch with a Kconfig for command-line entry
- Add new patch with a Kconfig for command-line entry
- Reorder the Kconfig options a little
- Add new patch to tidy up semicolon after command macros
- Rebase on Tom's LONGHELP series
- Correct 'of' typo
Changes in v2:
- Move AUTOBOOT_USE_MENUKEY under AUTOBOOT
- Change this to use a Kconfig dependency instead of code failing
- Adjust the depends on the commands, instead of EFI_LOADER
- Add new patch to update EFI_LOADER to depend on DM_ETH
- Add new patch to drop discarding of command linker-lists
- Add new patch to unify the U_BOOT_ENV_LOCATION conditions
Simon Glass (32):
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: Drop an unnecessary #ifdef
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: Make commands depend on CMDLINE
efi: Rearrange the Kconfig for CMD_BOOTEFI_BOOTMGR
efi: Update EFI_LOADER to depend on DM_ETH
cli: Split command-line-editing into its own file
Add a new Kconfig for command-line entry
Add a new Kconfig for command-line history
sandbox: Disable CONFIG_DISTRO_DEFAULTS
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
treewide: Tidy up semicolon after command macros
sandbox: Add a test for disabling CONFIG_CMDLINE
arch/Kconfig | 11 +-
arch/arm/cpu/u-boot.lds | 3 -
arch/arm/lib/bootm.c | 2 +
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/vid.c | 2 +-
board/xilinx/common/fru.c | 2 +-
board/xilinx/versal/cmds.c | 2 +-
board/xilinx/zynqmp/cmds.c | 2 +-
boot/Kconfig | 58 ++--
boot/bootm.c | 10 +-
boot/fdt_support.c | 5 +
cmd/Kconfig | 50 ++--
cmd/Makefile | 2 +-
cmd/btrfs.c | 2 +-
cmd/eeprom.c | 2 +-
cmd/ext2.c | 4 +-
cmd/fdt.c | 5 -
cmd/fs.c | 8 +-
cmd/nvedit.c | 122 +--------
cmd/pinmux.c | 2 +-
cmd/qfw.c | 2 +-
common/Kconfig | 12 +
common/Makefile | 10 +-
common/cli.c | 2 +
common/cli_cread.c | 407 +++++++++++++++++++++++++++++
common/cli_getch.c | 1 +
common/cli_readline.c | 384 +--------------------------
common/log.c | 4 +-
common/menu.c | 40 ---
common/menu_key.c | 49 ++++
configs/sandbox64_defconfig | 1 -
configs/sandbox_defconfig | 1 -
configs/sandbox_flattree_defconfig | 1 -
configs/sandbox_noinst_defconfig | 1 -
configs/sandbox_spl_defconfig | 1 -
configs/sandbox_vpl_defconfig | 1 -
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/cli.h | 31 +++
include/command.h | 2 +-
include/env_internal.h | 23 ++
include/k210/pll.h | 2 +-
lib/efi_loader/Kconfig | 7 +-
lib/efi_loader/Makefile | 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 +-
57 files changed, 833 insertions(+), 648 deletions(-)
create mode 100644 common/cli_cread.c
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.655.g421f12c284-goog
More information about the U-Boot
mailing list