summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-01-28 15:00:21 -0700
committerTom Rini <trini@konsulko.com>2023-02-06 13:04:53 -0500
commit22353fa6b585072e7cbe7d534fbbb98ef70f56d5 (patch)
treef9766e8e8b2df30e892feeee2e6203bb298962de
parenta710f5b2ebe6207125ee2260a7cfbe2b9e6e7ff3 (diff)
downloadu-boot-22353fa6b585072e7cbe7d534fbbb98ef70f56d5.tar.gz
u-boot-22353fa6b585072e7cbe7d534fbbb98ef70f56d5.tar.bz2
u-boot-22353fa6b585072e7cbe7d534fbbb98ef70f56d5.zip
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 <sjg@chromium.org>
-rw-r--r--boot/Kconfig27
-rw-r--r--configs/tools-only_defconfig1
-rw-r--r--doc/develop/bootstd.rst4
3 files changed, 32 insertions, 0 deletions
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
--------------------------