|  | .TH MKIMAGE 1 "2010-05-16" | 
|  |  | 
|  | .SH NAME | 
|  | mkimage \- Generate image for U-Boot | 
|  | .SH SYNOPSIS | 
|  | .B mkimage | 
|  | .RB "\-l [" "uimage file name" "]" | 
|  |  | 
|  | .B mkimage | 
|  | .RB [\fIoptions\fP] " \-f [" "image tree source file" "]" " [" "uimage file name" "]" | 
|  |  | 
|  | .B mkimage | 
|  | .RB [\fIoptions\fP] " \-F [" "uimage file name" "]" | 
|  |  | 
|  | .B mkimage | 
|  | .RB [\fIoptions\fP] " (legacy mode)" | 
|  |  | 
|  | .SH "DESCRIPTION" | 
|  | The | 
|  | .B mkimage | 
|  | command is used to create images for use with the U-Boot boot loader. | 
|  | These images can contain the linux kernel, device tree blob, root file | 
|  | system image, firmware images etc., either separate or combined. | 
|  |  | 
|  | .B mkimage | 
|  | supports two different formats: | 
|  |  | 
|  | The old | 
|  | .I legacy image | 
|  | format concatenates the individual parts (for example, kernel image, | 
|  | device tree blob and ramdisk image) and adds a 64 bytes header | 
|  | containing information about target architecture, operating system, | 
|  | image type, compression method, entry points, time stamp, checksums, | 
|  | etc. | 
|  |  | 
|  | The new | 
|  | .I FIT (Flattened Image Tree) format | 
|  | allows for more flexibility in handling images of various types and also | 
|  | enhances integrity protection of images with stronger checksums. It also | 
|  | supports verified boot. | 
|  |  | 
|  | .SH "OPTIONS" | 
|  |  | 
|  | .B List image information: | 
|  |  | 
|  | .TP | 
|  | .BI "\-l [" "uimage file name" "]" | 
|  | mkimage lists the information contained in the header of an existing U-Boot image. | 
|  |  | 
|  | .P | 
|  | .B Create old legacy image: | 
|  |  | 
|  | .TP | 
|  | .BI "\-A [" "architecture" "]" | 
|  | Set architecture. Pass \-h as the architecture to see the list of supported architectures. | 
|  |  | 
|  | .TP | 
|  | .BI "\-O [" "os" "]" | 
|  | Set operating system. bootm command of u-boot changes boot method by os type. | 
|  | Pass \-h as the OS to see the list of supported OS. | 
|  |  | 
|  | .TP | 
|  | .BI "\-T [" "image type" "]" | 
|  | Set image type. | 
|  | Pass \-h as the image to see the list of supported image type. | 
|  |  | 
|  | .TP | 
|  | .BI "\-C [" "compression type" "]" | 
|  | Set compression type. | 
|  | Pass \-h as the compression to see the list of supported compression type. | 
|  |  | 
|  | .TP | 
|  | .BI "\-a [" "load addess" "]" | 
|  | Set load address with a hex number. | 
|  |  | 
|  | .TP | 
|  | .BI "\-e [" "entry point" "]" | 
|  | Set entry point with a hex number. | 
|  |  | 
|  | .TP | 
|  | .BI "\-l" | 
|  | List the contents of an image. | 
|  |  | 
|  | .TP | 
|  | .BI "\-n [" "image name" "]" | 
|  | Set image name to 'image name'. | 
|  |  | 
|  | .TP | 
|  | .BI "\-d [" "image data file" "]" | 
|  | Use image data from 'image data file'. | 
|  |  | 
|  | .TP | 
|  | .BI "\-x" | 
|  | Set XIP (execute in place) flag. | 
|  |  | 
|  | .P | 
|  | .B Create FIT image: | 
|  |  | 
|  | .TP | 
|  | .BI "\-c [" "comment" "]" | 
|  | Specifies a comment to be added when signing. This is typically a useful | 
|  | message which describes how the image was signed or some other useful | 
|  | information. | 
|  |  | 
|  | .TP | 
|  | .BI "\-D [" "dtc options" "]" | 
|  | Provide special options to the device tree compiler that is used to | 
|  | create the image. | 
|  |  | 
|  | .TP | 
|  | .BI "\-f [" "image tree source file" "]" | 
|  | Image tree source file that describes the structure and contents of the | 
|  | FIT image. | 
|  |  | 
|  | .TP | 
|  | .BI "\-F" | 
|  | Indicates that an existing FIT image should be modified. No dtc | 
|  | compilation is performed and the -f flag should not be given. | 
|  | This can be used to sign images with additional keys after initial image | 
|  | creation. | 
|  |  | 
|  | .TP | 
|  | .BI "\-k [" "key_directory" "]" | 
|  | Specifies the directory containing keys to use for signing. This directory | 
|  | should contain a private key file <name>.key for use with signing and a | 
|  | certificate <name>.crt (containing the public key) for use with verification. | 
|  |  | 
|  | .TP | 
|  | .BI "\-K [" "key_destination" "]" | 
|  | Specifies a compiled device tree binary file (typically .dtb) to write | 
|  | public key information into. When a private key is used to sign an image, | 
|  | the corresponding public key is written into this file for for run-time | 
|  | verification. Typically the file here is the device tree binary used by | 
|  | CONFIG_OF_CONTROL in U-Boot. | 
|  |  | 
|  | .TP | 
|  | .BI "\-r | 
|  | Specifies that keys used to sign the FIT are required. This means that they | 
|  | must be verified for the image to boot. Without this option, the verification | 
|  | will be optional (useful for testing but not for release). | 
|  |  | 
|  | .SH EXAMPLES | 
|  |  | 
|  | List image information: | 
|  | .nf | 
|  | .B mkimage -l uImage | 
|  | .fi | 
|  | .P | 
|  | Create legacy image with compressed PowerPC Linux kernel: | 
|  | .nf | 
|  | .B mkimage -A powerpc -O linux -T kernel -C gzip \\\\ | 
|  | .br | 
|  | .B -a 0 -e 0 -n Linux -d vmlinux.gz uImage | 
|  | .fi | 
|  | .P | 
|  | Create FIT image with compressed PowerPC Linux kernel: | 
|  | .nf | 
|  | .B mkimage -f kernel.its kernel.itb | 
|  | .fi | 
|  | .P | 
|  | Create FIT image with compressed kernel and sign it with keys in the | 
|  | /public/signing-keys directory. Add corresponding public keys into u-boot.dtb, | 
|  | skipping those for which keys cannot be found. Also add a comment. | 
|  | .nf | 
|  | .B mkimage -f kernel.its -k /public/signing-keys -K u-boot.dtb \\\\ | 
|  | -c "Kernel 3.8 image for production devices" kernel.itb | 
|  | .fi | 
|  |  | 
|  | .P | 
|  | Update an existing FIT image, signing it with additional keys. | 
|  | Add corresponding public keys into u-boot.dtb. This will resign all images | 
|  | with keys that are available in the new directory. Images that request signing | 
|  | with unavailable keys are skipped. | 
|  | .nf | 
|  | .B mkimage -F -k /secret/signing-keys -K u-boot.dtb \\\\ | 
|  | -c "Kernel 3.8 image for production devices" kernel.itb | 
|  | .fi | 
|  |  | 
|  | .SH HOMEPAGE | 
|  | http://www.denx.de/wiki/U-Boot/WebHome | 
|  | .PP | 
|  | .SH AUTHOR | 
|  | This manual page was written by Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | 
|  | and Wolfgang Denk <wd@denx.de>. It was updated for image signing by | 
|  | Simon Glass <sjg@chromium.org>. |