summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2022-12-04 10:01:48 -0500
committerTom Rini <[email protected]>2022-12-04 10:01:48 -0500
commitd2c5607edde2544e059fa871927877213f6bd532 (patch)
treee57d7db3425ccc950a1b0d5f3d4332eb7be84d54 /doc
parenta32f6341ccf2ea69f64fe87b9d07fd87325a2056 (diff)
parent30124c2bb96decd737963c043b26407791859faf (diff)
Merge tag 'efi-2023-01-rc3' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request for efi-2023-01-rc3 Documentation: * describe DM firmware needed for j721e_evm * describe management of UEFI security data base with eficonfig UEFI: * code clean-up for eficonfig command * fix handling of DHCP aknowledge * correct EFI memory type used for U-Boot code * unit test for FatToStr() truncation * add an EFI binary to print boot hart ID Other: * improve parameter checks in console functions * fix variable initialization in blk_get_device_part_str
Diffstat (limited to 'doc')
-rw-r--r--doc/board/microchip/mpfs_icicle.rst4
-rw-r--r--doc/board/ti/j721e_evm.rst30
-rw-r--r--doc/usage/cmd/eficonfig.rst90
3 files changed, 80 insertions, 44 deletions
diff --git a/doc/board/microchip/mpfs_icicle.rst b/doc/board/microchip/mpfs_icicle.rst
index a4b10c6bd74..09c2c6a9c11 100644
--- a/doc/board/microchip/mpfs_icicle.rst
+++ b/doc/board/microchip/mpfs_icicle.rst
@@ -209,7 +209,7 @@ GUID type
~~~~~~~~~
The HSS always picks up HSS payload from a GPT partition with
-GIUD type "21686148-6449-6E6F-744E-656564454649" or sector '0' of the eMMC if no
+GUID type "21686148-6449-6E6F-744E-656564454649" or sector '0' of the eMMC if no
GPT partition.
Booting
@@ -460,7 +460,7 @@ GUID type
~~~~~~~~~
The HSS always picks up the HSS payload from a GPT partition with
-GIUD type "21686148-6449-6E6F-744E-656564454649" or sector '0' of the eMMC if no
+GUID type "21686148-6449-6E6F-744E-656564454649" or sector '0' of the eMMC if no
GPT partition.
Sample boot log from MPFS Icicle Kit
diff --git a/doc/board/ti/j721e_evm.rst b/doc/board/ti/j721e_evm.rst
index 44dc316afdd..ad70f15b7a4 100644
--- a/doc/board/ti/j721e_evm.rst
+++ b/doc/board/ti/j721e_evm.rst
@@ -142,7 +142,11 @@ Sources:
Tree: https://github.com/OP-TEE/optee_os.git
Branch: master
-4. U-Boot:
+4. DM Firmware:
+ Tree: git://git.ti.com/processor-firmware/ti-linux-firmware.git
+ Branch: ti-linux-firmware
+
+5. U-Boot:
Tree: https://source.denx.de/u-boot/u-boot
Branch: master
@@ -150,37 +154,37 @@ Build procedure:
----------------
1. SYSFW:
-.. code-block:: text
+.. code-block:: bash
- $ make CROSS_COMPILE=arm-linux-gnueabihf-
+ make CROSS_COMPILE=arm-linux-gnueabihf- SOC=j721e
2. ATF:
-.. code-block:: text
+.. code-block:: bash
- $ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=generic SPD=opteed
+ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=generic SPD=opteed
3. OPTEE:
-.. code-block:: text
+.. code-block:: bash
- $ make PLATFORM=k3-j721e CFG_ARM64_core=y
+ make PLATFORM=k3-j721e CFG_ARM64_core=y
4. U-Boot:
* 4.1 R5:
-.. code-block:: text
+.. code-block:: bash
- $ make CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=/tmp/r5
- $ make CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5
+ make CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=build/r5
+ make CROSS_COMPILE=arm-linux-gnueabihf- O=build/r5
* 4.2 A72:
-.. code-block:: text
+.. code-block:: bash
- $ make CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=/tmp/a72
- $ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin DM=<path to DM firmware image> O=/tmp/a72
+ make CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=build/a72
+ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<ATF dir>/build/k3/generic/release/bl31.bin TEE=<OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin DM=<DM firmware>/ti-dm/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f O=build/a72
Target Images
--------------
diff --git a/doc/usage/cmd/eficonfig.rst b/doc/usage/cmd/eficonfig.rst
index 340ebc80db8..30eb72bfd03 100644
--- a/doc/usage/cmd/eficonfig.rst
+++ b/doc/usage/cmd/eficonfig.rst
@@ -13,49 +13,43 @@ Synopsis
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.
+The "eficonfig" command uses the U-Boot menu interface to provide a
+menu-driven UEFI variable maintenance feature. These are the top level menu
+entries:
Add Boot Option
- Add new UEFI Boot Option.
- User can edit description, file path, and optional_data.
+ Add a new UEFI Boot Option.
+ The user can edit description, file path, and optional_data.
+ The new boot opiton is appended to the boot order in the *BootOrder*
+ variable. The user may want to update the boot order using the
+ *Change Boot Order* menu entry.
Edit Boot Option
- Edit the existing UEFI Boot Option
- User can edit description, file path, and optional_data.
+ Edit an existing UEFI Boot Option.
+ The User can edit description, file path, and optional_data.
Change Boot Order
- Change the order of UEFI BootOrder variable.
+ Change the boot order updating the UEFI BootOrder variable.
Delete Boot Option
- Delete the UEFI Boot Option
+ Delete a UEFI Boot Option
-Configuration
--------------
+Secure Boot Configuration
+ Edit the UEFI Secure Boot Configuration
-The "eficonfig" command is enabled by::
+How to boot the system with a newly added UEFI Boot Option
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- 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 "eficonfig" command is used to set the UEFI boot options which are stored
+in the UEFI variable Boot#### where #### is a hexadecimal number.
-How to boot the system with newly added UEFI Boot Option
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+The command *bootefi bootmgr* can be used to boot by trying in sequence all
+boot options selected by the variable *BootOrder*.
-"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
+are enumerated in the bootmenu when the user exits from the eficonfig menu.
+The 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
@@ -66,6 +60,44 @@ 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"
+UEFI Secure Boot Configuration
+''''''''''''''''''''''''''''''
+
+The user can enroll the variables PK, KEK, db and dbx by selecting a file.
+The "eficonfig" command only accepts signed EFI Signature List(s) with an
+authenticated header, typically a ".auth" file.
+
+To clear the PK, KEK, db and dbx, the user needs to enroll a null value
+signed by PK or KEK.
+
+Configuration
+-------------
+
+The "eficonfig" command is enabled by::
+
+ CONFIG_CMD_EFICONFIG=y
+
+If CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is enabled, the user can not enter
+U-Boot console. In this case, the bootmenu can be used to invoke "eficonfig"::
+
+ CONFIG_USE_PREBOOT=y
+ CONFIG_PREBOOT="setenv bootmenu_0 UEFI Maintenance Menu=eficonfig"
+
+The only way U-Boot can currently store EFI variables on a tamper
+resistant medium is via OP-TEE. The Kconfig option that enables that is::
+
+ CONFIG_EFI_MM_COMM_TEE=y.
+
+It enables storing EFI variables on the RPMB partition of an eMMC device.
+
+The UEFI Secure Boot Configuration menu entry is only available if the following
+options are enabled::
+
+ CONFIG_EFI_SECURE_BOOT=y
+ CONFIG_EFI_MM_COMM_TEE=y
+
See also
--------
-* :doc:`bootmenu<bootmenu>` provides a simple mechanism for creating menus with different boot items
+
+* :doc:`bootmenu<bootmenu>` provides a simple mechanism for creating menus with
+ different boot items