]> Git Repo - J-u-boot.git/blobdiff - boot/Kconfig
Merge tag 'v2023.10-rc4' into next
[J-u-boot.git] / boot / Kconfig
index d646369f55c3eea652a6e76e9f30ec448eced228..0a98f1e22207fb635947e9377ef42a64c9433eef 100644 (file)
@@ -125,8 +125,7 @@ config FIT_BEST_MATCH
 config FIT_IMAGE_POST_PROCESS
        bool "Enable post-processing of FIT artifacts after loading by U-Boot"
        depends on FIT
-       depends on TI_SECURE_DEVICE || SOCFPGA_SECURE_VAB_AUTH
-       default y if TI_SECURE_DEVICE
+       depends on SOCFPGA_SECURE_VAB_AUTH
        help
          Allows doing any sort of manipulation to blobs after they got extracted
          from FIT images like stripping off headers or modifying the size of the
@@ -231,7 +230,7 @@ config SPL_LOAD_FIT_APPLY_OVERLAY
        depends on SPL_LOAD_FIT
        select OF_LIBFDT_OVERLAY
        help
-         The device tree is loaded from the FIT image. Allow the SPL is to
+         The device tree is loaded from the FIT image. Allow the SPL to
          also load device-tree overlays from the FIT image an apply them
          over the device tree.
 
@@ -350,6 +349,32 @@ config PXE_UTILS
        help
          Utilities for parsing PXE file formats.
 
+config BOOT_DEFAULTS
+       bool  # Common defaults for standard boot and distroboot
+       imply USE_BOOTCOMMAND
+       select CMD_ENV_EXISTS
+       select CMD_EXT2
+       select CMD_EXT4
+       select CMD_FAT
+       select CMD_FS_GENERIC
+       select CMD_PART if PARTITIONS
+       select CMD_DHCP if CMD_NET
+       select CMD_PING if CMD_NET
+       select CMD_PXE if CMD_NET
+       select SUPPORT_RAW_INITRD
+       select ENV_VARS_UBOOT_CONFIG
+       select CMD_BOOTI if ARM64
+       select CMD_BOOTZ if ARM && !ARM64
+       imply CMD_MII if NET
+       imply USB_STORAGE
+       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. Currently much functionality is
+         tied to enabling the command that exercises it.
+
 config BOOTSTD
        bool "Standard boot support"
        default y
@@ -371,19 +396,6 @@ config BOOTSTD
                U-Boot)
            - bootflow - a description of how to boot (owned by the distro)
 
-config BOOTSTD_FULL
-       bool "Enhanced features for standard boot"
-       default y if SANDBOX
-       help
-         This enables various useful features for standard boot, which are not
-         essential for operation:
-
-         - bootdev, bootmeth commands
-         - extra features in the bootflow command
-         - support for selecting the ordering of bootmeths ("bootmeth order")
-         - support for selecting the ordering of bootdevs using the devicetree
-           as well as the "boot_targets" environment variable
-
 config SPL_BOOTSTD
        bool "Standard boot support in SPL"
        depends on SPL && SPL_DM && SPL_OF_CONTROL && SPL_BLK
@@ -406,28 +418,25 @@ config VPL_BOOTSTD
 
 if BOOTSTD
 
+config BOOTSTD_FULL
+       bool "Enhanced features for standard boot"
+       default y if SANDBOX
+       help
+         This enables various useful features for standard boot, which are not
+         essential for operation:
+
+         - bootdev, bootmeth commands
+         - extra features in the bootflow command
+         - support for selecting the ordering of bootmeths ("bootmeth order")
+         - support for selecting the ordering of bootdevs using the devicetree
+           as well as the "boot_targets" environment variable
+
 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
+       select BOOT_DEFAULTS
+       select BOOTMETH_DISTRO
        help
          These are not required but are commonly needed to support a good
          selection of booting methods. Enable this to improve the capability
@@ -453,30 +462,52 @@ config BOOTMETH_GLOBAL
          EFI bootmgr, since they take full control over which bootdevs are
          selected to boot.
 
-config BOOTMETH_DISTRO
-       bool "Bootdev support for distro boot"
+config BOOTMETH_CROS
+       bool "Bootdev support for Chromium OS"
+       depends on X86 || ARM || SANDBOX
+       default y if !ARM
+       select EFI_PARTITION
+       select PARTITION_TYPE_GUID
+       select PARTITION_UUIDS
+       help
+         Enables support for booting Chromium OS using bootdevs. This uses the
+         kernel A slot and obtains the kernel command line from the parameters
+         provided there.
+
+         Note that only x86 devices are supported at present.
+
+config BOOTMETH_EXTLINUX
+       bool "Bootdev support for extlinux boot"
        select PXE_UTILS
        default y
        help
-         Enables support for distro boot using bootdevs. This makes the
+         Enables support for extlinux boot using bootdevs. This makes the
          bootdevs look for a 'extlinux/extlinux.conf' on each filesystem
          they scan.
 
+         The specification for this filed is here:
+
+           https://uapi-group.org/specifications/specs/boot_loader_specification/
+
          This provides a way to try out standard boot on an existing boot flow.
 
-config BOOTMETH_DISTRO_PXE
-       bool "Bootdev support for distro boot over network"
+config BOOTMETH_EXTLINUX_PXE
+       bool "Bootdev support for extlinux boot over network"
        depends on CMD_PXE && CMD_NET && DM_ETH
        default y
        help
-         Enables support for distro boot using bootdevs. This makes the
+         Enables support for extlinux boot using bootdevs. This makes the
          bootdevs look for a 'extlinux/extlinux.conf' on the tftp server.
 
+         The specification for this file is here:
+
+           https://uapi-group.org/specifications/specs/boot_loader_specification/
+
          This provides a way to try out standard boot on an existing boot flow.
 
 config BOOTMETH_EFILOADER
        bool "Bootdev support for EFI boot"
-       depends on CMD_BOOTEFI
+       depends on EFI_LOADER
        default y
        help
          Enables support for EFI boot using bootdevs. This makes the
@@ -506,6 +537,13 @@ config BOOTMETH_VBE
          supports selection of various firmware components, seleciton of an OS to
          boot as well as updating these using fwupd.
 
+config BOOTMETH_DISTRO
+       bool  # Options needed to boot any distro
+       select BOOTMETH_SCRIPT  # E.g. Armbian uses scripts
+       select BOOTMETH_EXTLINUX  # E.g. Debian uses these
+       select BOOTMETH_EXTLINUX_PXE if CMD_PXE && CMD_NET && DM_ETH
+       select BOOTMETH_EFILOADER if EFI_LOADER # E.g. Ubuntu uses this
+
 config SPL_BOOTMETH_VBE
        bool "Bootdev support for Verified Boot for Embedded (SPL)"
        depends on SPL && FIT
@@ -629,6 +667,7 @@ config BOOTMETH_SANDBOX
 config BOOTMETH_SCRIPT
        bool "Bootdev support for U-Boot scripts"
        default y if BOOTSTD_FULL
+       select HUSH_PARSER
        help
          Enables support for booting a distro via a U-Boot script. This makes
          the bootdevs look for a 'boot/boot.scr' file which can be used to
@@ -834,12 +873,25 @@ config SYS_BOOT_RAMDISK_HIGH
        depends on CMD_BOOTM || CMD_BOOTI || CMD_BOOTZ
        depends on !(NIOS2 || SANDBOX || SH || XTENSA)
        def_bool y
+       select LMB
        help
          Enable initrd_high functionality.  If defined then the initrd_high
          feature is enabled and the boot* ramdisk subcommand is enabled.
 
 endmenu                # Boot images
 
+config DISTRO_DEFAULTS
+       bool "Select defaults suitable for booting general purpose Linux distributions"
+       select BOOT_DEFAULTS
+       select AUTO_COMPLETE
+       select CMDLINE_EDITING
+       select CMD_SYSBOOT
+       select HUSH_PARSER
+       select SYS_LONGHELP
+       help
+         Select this to enable various options and commands which are suitable
+         for building u-boot for booting general purpose Linux distributions.
+
 menu "Boot timing"
 
 config BOOTSTAGE
@@ -958,7 +1010,7 @@ config BOOTSTAGE_STASH
 
 config BOOTSTAGE_STASH_ADDR
        hex "Address to stash boot timing information"
-       default 0
+       default 0x0
        help
          Provide an address which will not be overwritten by the OS when it
          starts, so that it can read this information when ready.
@@ -1390,7 +1442,7 @@ config AUTOBOOT_MENU_SHOW
          This enables the boot menu, controlled by environment variables
          defined by the board. The menu starts after running the 'preboot'
          environmnent variable (if enabled) and before handling the boot delay.
-         See README.bootmenu for more details.
+         See doc/usage/cmd/bootmenu.rst for more details.
 
 config BOOTMENU_DISABLE_UBOOT_CONSOLE
        bool "Disallow bootmenu to enter the U-Boot console"
@@ -1531,8 +1583,8 @@ config USE_BOOTCOMMAND
 config BOOTCOMMAND
        string "bootcmd value"
        depends on USE_BOOTCOMMAND && !USE_DEFAULT_ENV_FILE
-       default "bootflow scan -lb" if BOOTSTD_BOOTCOMMAND && CMD_BOOTFLOW_FULL
-       default "bootflow scan" if BOOTSTD_BOOTCOMMAND && !CMD_BOOTFLOW_FULL
+       default "bootflow scan -lb" if BOOTSTD_DEFAULTS && CMD_BOOTFLOW_FULL
+       default "bootflow scan" if BOOTSTD_DEFAULTS && !CMD_BOOTFLOW_FULL
        default "run distro_bootcmd" if !BOOTSTD_BOOTCOMMAND && DISTRO_DEFAULTS
        help
          This is the string of commands that will be used as bootcmd and if
@@ -1591,4 +1643,18 @@ config SAVE_PREV_BL_INITRAMFS_START_ADDR
          If no initramfs was provided by previous bootloader, no env variables
          will be created.
 
+menu "Configuration editor"
+
+config CEDIT
+       bool "Configuration editor"
+       depends on BOOTSTD
+       help
+         Provides a way to deal with board configuration and present it to
+         the user for adjustment.
+
+         This is intended to provide both graphical and text-based user
+         interfaces, but only graphical is support at present.
+
+endmenu                # Configuration editor
+
 endmenu                # Booting
This page took 0.03431 seconds and 4 git commands to generate.