blob: eb64b1cefab4501efbbec0dea36e920d48603ed8 [file] [log] [blame]
.. SPDX-License-Identifier: GPL-2.0+:
imxtract command
================
Synopsis
--------
::
imxtract addr part [dest]
imxtract addr uname [dest]
Description
-----------
The imxtract command is used to extract a part of a multi-image file.
Two different file formats are supported:
* FIT images
* legacy U-Boot images
addr
Address of the multi-image file from which a part shall be extracted
part
Index (hexadecimal) of the part of a legacy U-Boot image to be extracted
uname
Name of the part of a FIT image to be extracted
dest
Destination address (defaults to 0x0)
The value of environment variable *verify* controls if the hashes and
signatures of FIT images or the check sums of legacy U-Boot images are checked.
To enable checking set *verify* to one of the values *1*, *yes*, *true*.
(Actually only the first letter is checked disregarding the case.)
To list the parts of an image the *iminfo* command can be used.
Examples
--------
With verify=no incorrect hashes, signatures, or check sums don't stop the
extraction. But correct hashes are still indicated in the output
(here: md5, sha1).
.. code-block:: console
=> setenv verify no
=> imxtract $loadaddr kernel-1 $kernel_addr_r
## Copying 'kernel-1' subimage from FIT image at 40200000 ...
md5+ sha1+ Loading part 0 ... OK
=>
With verify=yes incorrect hashes, signatures, or check sums stop the extraction.
.. code-block:: console
=> setenv verify yes
=> imxtract $loadaddr kernel-1 $kernel_addr_r
## Copying 'kernel-1' subimage from FIT image at 40200000 ...
md5 error!
Bad hash value for 'hash-1' hash node in 'kernel-1' image node
Bad Data Hash
=>
Configuration
-------------
The imxtract command is only available if CONFIG_CMD_XIMG=y. Support for FIT
images requires CONFIG_FIT=y. Support for legacy U-Boot images requires
CONFIG_LEGACY_IMAGE_FORMAT=y.
Return value
------------
On success the return value $? of the command is 0 (true). On failure the
return value is 1 (false).