From: Simon Glass Date: Sat, 28 Jan 2023 22:00:21 +0000 (-0700) Subject: bootstd: Add some default filesystems and commands X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=22353fa6b585072e7cbe7d534fbbb98ef70f56d5;p=u-boot.git bootstd: Add some default filesystems and commands We need to support a basic set of filesystems for booting to work in most cases. Add these in via a new option, letting the board disable them individually (for space reasons) if desired. This enables the filesystem commands as well as the actual functionality, even though bootstd is quite happy to use ext4 without the ext4 command. Further work would be needed to disintangle this and reduce code size. Add several other options as well, providing sensible defaults. We cannot enable this by default, since it expands the size of many boards quite a lot. Signed-off-by: Simon Glass --- diff --git a/boot/Kconfig b/boot/Kconfig index 98e194fc2b..5f491625c8 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -406,6 +406,33 @@ config VPL_BOOTSTD if BOOTSTD +config BOOTSTD_DEFAULTS + bool "Select some common defaults for standard boot" + depends on BOOTSTD + imply USE_BOOTCOMMAND + # Bring in some defaults which are generally needed. Boards can drop + # these as needed to save code space. Bootstd does not generally require + # the commands themselves to be enabled, but this is how some of the + # functionality is controlled at present + imply CMD_EXT2 + imply CMD_EXT4 + imply CMD_FAT + imply CMD_FS_GENERIC + imply CMD_PART + imply CMD_DHCP if NET + imply CMD_MII if NET + imply CMD_PING if NET + imply CMD_PXE if NET + imply USB_STORAGE + imply SUPPORT_RAW_INITRD + imply ENV_VARS_UBOOT_CONFIG + imply EFI_PARTITION + imply ISO_PARTITION + help + These are not required but are commonly needed to support a good + selection of booting methods. Enable this to improve the capability + of U-Boot to boot various images. + config BOOTSTD_BOOTCOMMAND bool "Use bootstd to boot" default y if !DISTRO_DEFAULTS diff --git a/configs/tools-only_defconfig b/configs/tools-only_defconfig index 23e1f0e9db..88a94ddd6b 100644 --- a/configs/tools-only_defconfig +++ b/configs/tools-only_defconfig @@ -12,6 +12,7 @@ CONFIG_FIT_SIGNATURE=y # CONFIG_BOOTMETH_VBE is not set CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run distro_bootcmd" +# CONFIG_AVB_VERIFY is not set # CONFIG_CMD_BOOTD is not set # CONFIG_CMD_BOOTM is not set # CONFIG_CMD_ELF is not set diff --git a/doc/develop/bootstd.rst b/doc/develop/bootstd.rst index 281aabf74b..dabe987c0d 100644 --- a/doc/develop/bootstd.rst +++ b/doc/develop/bootstd.rst @@ -396,6 +396,10 @@ To enable all feature sof standard boot, use `CONFIG_BOOTSTD_FULL`. This includes the full set of commands, more error messages when things go wrong and bootmeth ordering with the bootmeths environment variable. +You should probably also enable `CONFIG_BOOTSTD_DEFAULTS`, which provides +several filesystem and network features (if `CONFIG_NET` is enabled) so that +a good selection of boot options is available. + Available bootmeth drivers --------------------------