The "env" command is the recommended environment management command, its "set" subcommand is the equivalent replacement for legacy "setenv" command. Update the documentation to use the contemporary "env set" command instead of legacy "setenv" command. Note that the "setenv" command is unlikely to be removed from U-Boot in the near future due to it being integral part of the command line ABI. Implemented using: $ sed -i 's@\<setenv\>@env set@g' $(git grep -li '\<setenv\>' doc/) README Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
118 lines
3.1 KiB
ReStructuredText
118 lines
3.1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+:
|
|
|
|
.. index::
|
|
single: booti (command)
|
|
|
|
booti command
|
|
=============
|
|
|
|
Synopsis
|
|
--------
|
|
|
|
::
|
|
|
|
booti [<addr> [<initrd>[:<size>]] [<fdt>]]
|
|
|
|
Description
|
|
-----------
|
|
|
|
The booti command is used to boot a Linux kernel in flat or compressed
|
|
'Image' format. Which compressed formats are supported is configurable.
|
|
|
|
addr
|
|
address of kernel image, defaults to CONFIG_SYS_LOAD_ADDR.
|
|
|
|
initrd
|
|
address of the initial RAM disk. Use '-' to boot a kernel with a device
|
|
tree but without an initial RAM disk.
|
|
|
|
size
|
|
size of the initial RAM disk. This parameter must be specified for raw
|
|
initial RAM disks.
|
|
|
|
fdt
|
|
address of the device tree.
|
|
|
|
To support compressed Image files the following environment variables must be
|
|
set:
|
|
|
|
kernel_comp_addr_r
|
|
start of memory area used for decompression
|
|
|
|
kernel_comp_size
|
|
size of the compressed file. The value has to be at least the size of
|
|
loaded image for decompression to succeed. For the booti command the
|
|
maximum decompressed size is 10 times this value.
|
|
|
|
Example
|
|
-------
|
|
|
|
This is the boot log of an Odroid C2 board:
|
|
|
|
::
|
|
|
|
=> load mmc 0:1 $fdt_addr_r dtb-5.10.0-3-arm64
|
|
27530 bytes read in 7 ms (3.7 MiB/s)
|
|
=> load mmc 0:1 $kernel_addr_r vmlinuz-5.10.0-3-arm64
|
|
26990448 bytes read in 1175 ms (21.9 MiB/s)
|
|
=> load mmc 0:1 $ramdisk_addr_r initrd.img-5.10.0-3-arm64
|
|
27421776 bytes read in 1209 ms (21.6 MiB/s)
|
|
=> booti $kernel_addr_r $ramdisk_addr_r:$filesize $fdt_addr_r
|
|
Moving Image from 0x8080000 to 0x8200000, end=9c60000
|
|
## Flattened Device Tree blob at 08008000
|
|
Booting using the fdt blob at 0x8008000
|
|
Loading Ramdisk to 7a52a000, end 7bf50c50 ... OK
|
|
Loading Device Tree to 000000007a520000, end 000000007a529b89 ... OK
|
|
|
|
Starting kernel ...
|
|
|
|
The kernel can be compressed with gzip:
|
|
|
|
.. code-block:: bash
|
|
|
|
cd /boot
|
|
gzip -k vmlinuz-5.10.0-3-arm64
|
|
|
|
Here is the boot log for the compressed kernel:
|
|
|
|
::
|
|
|
|
=> env set kernel_comp_addr_r 0x50000000
|
|
=> env set kernel_comp_size 0x04000000
|
|
=> load mmc 0:1 $fdt_addr_r dtb-5.10.0-3-arm64
|
|
27530 bytes read in 6 ms (4.4 MiB/s)
|
|
=> load mmc 0:1 $kernel_addr_r vmlinuz-5.10.0-3-arm64.gz
|
|
9267730 bytes read in 402 ms (22 MiB/s)
|
|
=> load mmc 0:1 $ramdisk_addr_r initrd.img-5.10.0-3-arm64
|
|
27421776 bytes read in 1181 ms (22.1 MiB/s)
|
|
=> booti $kernel_addr_r $ramdisk_addr_r:$filesize $fdt_addr_r
|
|
Uncompressing Kernel Image
|
|
Moving Image from 0x8080000 to 0x8200000, end=9c60000
|
|
## Flattened Device Tree blob at 08008000
|
|
Booting using the fdt blob at 0x8008000
|
|
Loading Ramdisk to 7a52a000, end 7bf50c50 ... OK
|
|
Loading Device Tree to 000000007a520000, end 000000007a529b89 ... OK
|
|
|
|
Starting kernel ...
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
The booti command is only available if CONFIG_CMD_BOOTI=y.
|
|
|
|
Which compression types are supported depends on:
|
|
|
|
* CONFIG_BZIP2
|
|
* CONFIG_GZIP
|
|
* CONFIG_LZ4
|
|
* CONFIG_LZMA
|
|
* CONFIG_LZO
|
|
* CONFIG_ZSTD
|
|
|
|
Return value
|
|
------------
|
|
|
|
Normally this command does not return. If an error occurs, the return value $?
|
|
is set to 1 (false). If the operating system returns to U-Boot, the system is
|
|
reset.
|