summaryrefslogtreecommitdiff
path: root/doc/usage
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2025-08-05 07:46:14 +0200
committerHeinrich Schuchardt <[email protected]>2025-08-08 08:45:18 +0200
commit47e9b73954259e4cf9ba07a4c793a26fbdb47bce (patch)
tree53877ae382bbe69496ad078d48e78cc6f4840712 /doc/usage
parent8e5d34a3a26ad8550dd47ef7550d3f4a2067fdb4 (diff)
efi_loader: Support loading a ramdisk with bootefi
It is sometimes useful to be able to boot via EFI using a Linux initrd. Add support for this. Fix a 'specifiy' typo while here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
Diffstat (limited to 'doc/usage')
-rw-r--r--doc/usage/cmd/bootefi.rst37
1 files changed, 30 insertions, 7 deletions
diff --git a/doc/usage/cmd/bootefi.rst b/doc/usage/cmd/bootefi.rst
index d6e4e62e383..7c5448586b7 100644
--- a/doc/usage/cmd/bootefi.rst
+++ b/doc/usage/cmd/bootefi.rst
@@ -12,7 +12,7 @@ Synopsis
::
- bootefi <image_addr>[:<image_size>] [<fdt_addr>]
+ bootefi <image_addr>[:<image_size>] [<initrd_addr>:<initrd_size>] [<fdt_address>]
bootefi bootmgr [<fdt_addr>]
bootefi hello [<fdt_addr>]
bootefi selftest [<fdt_addr>]
@@ -44,6 +44,16 @@ command sequence to run a UEFI application might look like
load mmc 0:1 $kernel_addr_r /EFI/grub/grubaa64.efi
bootefi $kernel_addr_r $fdt_addr_r
+or
+
+::
+
+ setenv bootargs root=/dev/vda1
+ load mmc 0:1 $fdt_addr_r dtb
+ load mmc 0:1 $kernel_addr_r vmlinux
+ load mmc 0:1 $initrd_addr_r intird
+ bootefi $kernel_addr_r $initrd_addr_r:$filesize $fdt_addr_r
+
The last UEFI binary loaded defines the image file path in the loaded image
protocol.
@@ -51,21 +61,34 @@ The value of the environment variable *bootargs* is converted from UTF-8 to
UTF-16 and passed as load options in the loaded image protocol to the UEFI
binary.
+.. note::
+
+ The bootefi command accepts one to three arguments.
+ If the second argument contains a colon ':', it is assumed to specify the
+ initial RAM disk.
+
image_addr
Address of the UEFI binary.
-fdt_addr
- Address of the device-tree or '-'. If no address is specifiy, the
- environment variable $fdt_addr is used as first fallback, the address of
- U-Boot's internal device-tree $fdtcontroladdr as second fallback.
- When using ACPI no device-tree shall be specified.
-
image_size
Size of the UEFI binary file. This argument is only needed if *image_addr*
does not match the address of the last loaded UEFI binary. In this case
a memory device path will be used as image file path in the loaded image
protocol.
+initrd_addr
+ Address of the Linux initial RAM disk or '-'. If no address is specified,
+ no RAM disk is used when booting.
+
+initrd_size
+ Size of the Linux initial RAM disk.
+
+fdt_addr
+ Address of the device-tree or '-'. If no address is specified, the
+ environment variable $fdt_addr is used as first fallback, the address of
+ U-Boot's internal device-tree $fdtcontroladdr as second fallback.
+ When using ACPI no device-tree shall be specified.
+
Note
UEFI binaries that are contained in FIT images are launched via the
*bootm* command.