mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 20:18:18 +00:00 
			
		
		
		
	Add the description of CLI commands to the generated index. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
		
			
				
	
	
		
			168 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0+
 | |
| .. (C) Copyright 2011-2012 Pali Rohár <pali@kernel.org>
 | |
| 
 | |
| .. index::
 | |
|    single: bootmenu (command)
 | |
| 
 | |
| bootmenu command
 | |
| ================
 | |
| 
 | |
| Synopsis
 | |
| --------
 | |
| ::
 | |
| 
 | |
|     bootmenu [delay]
 | |
| 
 | |
| Description
 | |
| -----------
 | |
| 
 | |
| The "bootmenu" command uses U-Boot menu interfaces and provides
 | |
| a simple mechanism for creating menus with different boot items.
 | |
| The cursor keys "Up" and "Down" are used for navigation through
 | |
| the items. Current active menu item is highlighted and can be
 | |
| selected using the "Enter" key. The selection of the highlighted
 | |
| menu entry invokes an U-Boot command (or a list of commands)
 | |
| associated with this menu entry.
 | |
| 
 | |
| The "bootmenu" command interprets ANSI escape sequences, so
 | |
| an ANSI terminal is required for proper menu rendering and item
 | |
| selection.
 | |
| 
 | |
| The assembling of the menu is done via a set of environment variables
 | |
| "bootmenu_<num>" and "bootmenu_delay", i.e.::
 | |
| 
 | |
|     bootmenu_delay=<delay>
 | |
|     bootmenu_<num>="<title>=<commands>"
 | |
| 
 | |
| <delay>
 | |
|     is the autoboot delay in seconds, after which the first
 | |
|     menu entry will be selected automatically
 | |
| 
 | |
| <num>
 | |
|     is the boot menu entry number, starting from zero
 | |
| 
 | |
| <title>
 | |
|     is the text of the menu entry shown on the console
 | |
|     or on the boot screen
 | |
| 
 | |
| <commands>
 | |
|     are commands which will be executed when a menu
 | |
|     entry is selected
 | |
| 
 | |
| Title and commands are separated by the first appearance of a '='
 | |
| character in the value of the environment variable.
 | |
| 
 | |
| The first (optional) argument of the "bootmenu" command is a delay specifier
 | |
| and it overrides the delay value defined by "bootmenu_delay" environment
 | |
| variable. If the environment variable "bootmenu_delay" is not set or if
 | |
| the argument of the "bootmenu" command is not specified, the default delay
 | |
| will be CONFIG_BOOTDELAY. If delay is 0, no menu entries will be shown on
 | |
| the console (or on the screen) and the command of the first menu entry will
 | |
| be called immediately. If delay is less then 0, bootmenu will be shown and
 | |
| autoboot will be disabled.
 | |
| 
 | |
| Bootmenu always adds menu entry "U-Boot console" at the end of all menu
 | |
| entries specified by environment variables. When selecting this entry
 | |
| the bootmenu terminates and the usual U-Boot command prompt is presented
 | |
| to the user.
 | |
| 
 | |
| Example environment::
 | |
| 
 | |
|     setenv bootmenu_0 Boot 1. kernel=bootm 0x82000000  # Set first menu entry
 | |
|     setenv bootmenu_1 Boot 2. kernel=bootm 0x83000000  # Set second menu entry
 | |
|     setenv bootmenu_2 Reset board=reset                # Set third menu entry
 | |
|     setenv bootmenu_3 U-Boot boot order=boot           # Set fourth menu entry
 | |
|     bootmenu 20        # Run bootmenu with autoboot delay 20s
 | |
| 
 | |
| 
 | |
| The above example will be rendered as below::
 | |
| 
 | |
|     *** U-Boot Boot Menu ***
 | |
| 
 | |
|        Boot 1. kernel
 | |
|        Boot 2. kernel
 | |
|        Reset board
 | |
|        U-Boot boot order
 | |
|        U-Boot console
 | |
| 
 | |
|     Hit any key to stop autoboot: 20
 | |
|     Press UP/DOWN to move, ENTER to select
 | |
| 
 | |
| The selected menu entry will be highlighted - it will have inverted
 | |
| background and text colors.
 | |
| 
 | |
| UEFI boot variable enumeration
 | |
| ''''''''''''''''''''''''''''''
 | |
| If enabled, the bootmenu command will automatically generate and add
 | |
| UEFI-related boot menu entries for the following items.
 | |
| 
 | |
|  * possible bootable media with default file names
 | |
|  * user-defined UEFI boot options
 | |
| 
 | |
| The bootmenu automatically enumerates the possible bootable
 | |
| media devices supporting EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.
 | |
| This auto generated entry is named as "<interface> <devnum>:<part>" format.
 | |
| (e.g. "usb 0:1")
 | |
| 
 | |
| The bootmenu displays the UEFI-related menu entries in order of "BootOrder".
 | |
| When the user selects the UEFI boot menu entry, the bootmenu sets
 | |
| the selected boot variable index to "BootNext" without non-volatile attribute,
 | |
| then call the uefi boot manager with the command "bootefi bootmgr".
 | |
| 
 | |
| Example bootmenu is as below::
 | |
| 
 | |
|     *** U-Boot Boot Menu ***
 | |
| 
 | |
|        mmc 0:1
 | |
|        mmc 0:2
 | |
|        debian
 | |
|        nvme 0:1
 | |
|        ubuntu
 | |
|        nvme 0:2
 | |
|        usb 0:2
 | |
|        U-Boot console
 | |
| 
 | |
| Default behavior when user exits from the bootmenu
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| User can exit from bootmenu by selecting the last entry
 | |
| "U-Boot console"/"Quit" or ESC key.
 | |
| 
 | |
| When the CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is disabled,
 | |
| user exits from the bootmenu and returns to the U-Boot console.
 | |
| 
 | |
| When the CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is enabled, user can not
 | |
| enter the U-Boot console. When the user exits from the bootmenu,
 | |
| the bootmenu invokes the following default behavior.
 | |
| 
 | |
|  * if CONFIG_CMD_BOOTEFI_BOOTMGR is enabled, execute "bootefi bootmgr" command
 | |
|  * "bootefi bootmgr" fails or is not enabled, then execute "run bootcmd" command.
 | |
| 
 | |
| Configuration
 | |
| -------------
 | |
| 
 | |
| The "bootmenu" command is enabled by::
 | |
| 
 | |
|     CONFIG_CMD_BOOTMENU=y
 | |
| 
 | |
| To run the bootmenu at startup add these additional settings::
 | |
| 
 | |
|     CONFIG_AUTOBOOT_KEYED=y
 | |
|     CONFIG_BOOTDELAY=30
 | |
|     CONFIG_AUTOBOOT_MENU_SHOW=y
 | |
| 
 | |
| UEFI boot variable enumeration is enabled by::
 | |
| 
 | |
|     CONFIG_CMD_BOOTEFI_BOOTMGR=y
 | |
| 
 | |
| To improve the product security, entering U-Boot console from bootmenu
 | |
| can be disabled by::
 | |
| 
 | |
|     CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE=y
 | |
| 
 | |
| To scan the discoverable devices connected to the buses such as
 | |
| USB and PCIe prior to bootmenu showing up, CONFIG_PREBOOT can be
 | |
| used to run the command before showing the bootmenu, i.e.::
 | |
| 
 | |
|     CONFIG_USE_PREBOOT=y
 | |
|     CONFIG_PREBOOT="pci enum; usb start; scsi scan; nvme scan; virtio scan"
 |