186 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
			
		
		
	
	
			186 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
.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>.
 |