
On Tue, 13 Sept 2022 at 16:02, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 9/12/22 10:33, Masahisa Kojima wrote:
Add documentation for eficonfig command.
Signed-off-by: Masahisa Kojima masahisa.kojima@linaro.org Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org
No update since v15
Changes in v14:
- fix typos
Changes in v13:
- describe how to auto boot according to the UEFI Boot option
Changes in v12:
- CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE condition is added to show newly added boot option
No update since v10
Changes in v10:
- describe how to boot system after editting by eficonfig
Changes in v8:
- command name is changed from "efimenu" to "eficonfig"
Newly created in v7
doc/usage/cmd/eficonfig.rst | 71 +++++++++++++++++++++++++++++++++++++ doc/usage/index.rst | 1 + 2 files changed, 72 insertions(+) create mode 100644 doc/usage/cmd/eficonfig.rst
diff --git a/doc/usage/cmd/eficonfig.rst b/doc/usage/cmd/eficonfig.rst new file mode 100644 index 0000000000..340ebc80db --- /dev/null +++ b/doc/usage/cmd/eficonfig.rst @@ -0,0 +1,71 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. (C) Copyright 2022, Masahisa Kojima masahisa.kojima@linaro.org
+eficonfig command +=================
+Synopsis +-------- +::
- eficonfig
+Description +-----------
+The "eficonfig" command uses U-Boot menu interface and provides +a menu-driven UEFI variable maintenance feature. +The "eficonfig" has the following menu entries.
+Add Boot Option
- Add new UEFI Boot Option.
- User can edit description, file path, and optional_data.
+Edit Boot Option
- Edit the existing UEFI Boot Option
- User can edit description, file path, and optional_data.
+Change Boot Order
- Change the order of UEFI BootOrder variable.
+Delete Boot Option
- Delete the UEFI Boot Option
+Configuration +-------------
+The "eficonfig" command is enabled by::
- CONFIG_CMD_EFICONFIG=y
+If CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is enabled, user can not enter +U-Boot console. In this case, bootmenu can be used to invoke "eficonfig"::
- CONFIG_USE_PREBOOT=y
- CONFIG_PREBOOT="setenv bootmenu_0 UEFI Maintenance Menu=eficonfig"
The following question is about the bootmenu command itself and beyond the scope of this series:
It seems that bootmenu can only handle bootmenu_## variables correctly if they are consecutively numbered from 0. Wouldn't it be preferable to be able to define a variable bootmenu_98 that is placed at the end?
I don't fully understand this question. What is the purpose of defining the variable bootmenu_98 at the end?
I guess you think the "UEFI Maintenance Menu" should appear at the end in bootmenu. But the bootmenu order with this series is that UEFI BOOT#### entry follows bootmenu_xx.
Thanks, Masahisa Kojima
Best regards
Heinrich
+How to boot the system with newly added UEFI Boot Option +''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+"eficonfig" command is responsible for configuring the UEFI variables, +not directly handle the system boot. +The new Boot Option added by "eficonfig" is appended at the last entry +of UEFI BootOrder variable, user may want to change the boot order +through "Change Boot Order". +If the bootmenu is enabled, CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is enabled, +and "eficonfig" is configured as preboot command, the newly added Boot Options +are enumerated in the bootmenu when user exits from the eficonfig menu. +User may select the entry in the bootmenu to boot the system, or follow +the U-Boot configuration the system already has.
+Auto boot with the UEFI Boot Option +'''''''''''''''''''''''''''''''''''
+To do auto boot according to the UEFI BootOrder variable, +add "bootefi bootmgr" entry as a default or first bootmenu entry::
- CONFIG_PREBOOT="setenv bootmenu_0 UEFI Boot Manager=bootefi bootmgr; setenv bootmenu_1 UEFI Maintenance Menu=eficonfig"
+See also +-------- +* :doc:`bootmenu<bootmenu>` provides a simple mechanism for creating menus with different boot items diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 28f9683a3e..09f2928970 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -35,6 +35,7 @@ Shell commands cmd/conitrace cmd/dm cmd/echo
- cmd/eficonfig cmd/env cmd/event cmd/exception