]>
Commit | Line | Data |
---|---|---|
cd153556 NI |
1 | .TH MKIMAGE 1 "2010-05-16" |
2 | ||
3 | .SH NAME | |
4 | mkimage \- Generate image for U-Boot | |
5 | .SH SYNOPSIS | |
6 | .B mkimage | |
80e4df8a SG |
7 | .RB "\-l [" "uimage file name" "]" |
8 | ||
9 | .B mkimage | |
10 | .RB [\fIoptions\fP] " \-f [" "image tree source file" "]" " [" "uimage file name" "]" | |
11 | ||
95d77b44 SG |
12 | .B mkimage |
13 | .RB [\fIoptions\fP] " \-F [" "uimage file name" "]" | |
14 | ||
80e4df8a SG |
15 | .B mkimage |
16 | .RB [\fIoptions\fP] " (legacy mode)" | |
17 | ||
cd153556 NI |
18 | .SH "DESCRIPTION" |
19 | The | |
20 | .B mkimage | |
21 | command is used to create images for use with the U-Boot boot loader. | |
7aecfdd0 | 22 | These images can contain the linux kernel, device tree blob, root file |
cd153556 NI |
23 | system image, firmware images etc., either separate or combined. |
24 | ||
25 | .B mkimage | |
26 | supports two different formats: | |
27 | ||
7aecfdd0 | 28 | The old |
cd153556 NI |
29 | .I legacy image |
30 | format concatenates the individual parts (for example, kernel image, | |
31 | device tree blob and ramdisk image) and adds a 64 bytes header | |
32 | containing information about target architecture, operating system, | |
33 | image type, compression method, entry points, time stamp, checksums, | |
34 | etc. | |
35 | ||
7aecfdd0 | 36 | The new |
cd153556 | 37 | .I FIT (Flattened Image Tree) format |
7aecfdd0 | 38 | allows for more flexibility in handling images of various types and also |
80e4df8a SG |
39 | enhances integrity protection of images with stronger checksums. It also |
40 | supports verified boot. | |
cd153556 NI |
41 | |
42 | .SH "OPTIONS" | |
43 | ||
44 | .B List image information: | |
45 | ||
46 | .TP | |
47 | .BI "\-l [" "uimage file name" "]" | |
48 | mkimage lists the information contained in the header of an existing U-Boot image. | |
49 | ||
50 | .P | |
51 | .B Create old legacy image: | |
52 | ||
53 | .TP | |
54 | .BI "\-A [" "architecture" "]" | |
3f1266d6 | 55 | Set architecture. Pass \-h as the architecture to see the list of supported architectures. |
cd153556 NI |
56 | |
57 | .TP | |
58 | .BI "\-O [" "os" "]" | |
59 | Set operating system. bootm command of u-boot changes boot method by os type. | |
3f1266d6 | 60 | Pass \-h as the OS to see the list of supported OS. |
cd153556 NI |
61 | |
62 | .TP | |
63 | .BI "\-T [" "image type" "]" | |
64 | Set image type. | |
3f1266d6 | 65 | Pass \-h as the image to see the list of supported image type. |
cd153556 NI |
66 | |
67 | .TP | |
68 | .BI "\-C [" "compression type" "]" | |
69 | Set compression type. | |
3f1266d6 | 70 | Pass \-h as the compression to see the list of supported compression type. |
cd153556 NI |
71 | |
72 | .TP | |
4fd096f4 | 73 | .BI "\-a [" "load address" "]" |
cd153556 NI |
74 | Set load address with a hex number. |
75 | ||
76 | .TP | |
77 | .BI "\-e [" "entry point" "]" | |
78 | Set entry point with a hex number. | |
79 | ||
80e4df8a SG |
80 | .TP |
81 | .BI "\-l" | |
82 | List the contents of an image. | |
83 | ||
cd153556 NI |
84 | .TP |
85 | .BI "\-n [" "image name" "]" | |
86 | Set image name to 'image name'. | |
87 | ||
88 | .TP | |
89 | .BI "\-d [" "image data file" "]" | |
90 | Use image data from 'image data file'. | |
91 | ||
92 | .TP | |
93 | .BI "\-x" | |
94 | Set XIP (execute in place) flag. | |
95 | ||
96 | .P | |
97 | .B Create FIT image: | |
98 | ||
fb4cce0f | 99 | .TP |
7a439cad AB |
100 | .BI "\-b [" "device tree file" "] |
101 | Appends the device tree binary file (.dtb) to the FIT. | |
fb4cce0f | 102 | |
4f610427 SG |
103 | .TP |
104 | .BI "\-c [" "comment" "]" | |
105 | Specifies a comment to be added when signing. This is typically a useful | |
106 | message which describes how the image was signed or some other useful | |
107 | information. | |
108 | ||
cd153556 | 109 | .TP |
49fbf437 | 110 | .BI "\-D [" "dtc options" "]" |
cd153556 NI |
111 | Provide special options to the device tree compiler that is used to |
112 | create the image. | |
113 | ||
722ebc8f SG |
114 | .TP |
115 | .BI "\-E | |
116 | After processing, move the image data outside the FIT and store a data offset | |
117 | in the FIT. Images will be placed one after the other immediately after the | |
118 | FIT, with each one aligned to a 4-byte boundary. The existing 'data' property | |
119 | in each image will be replaced with 'data-offset' and 'data-size' properties. | |
120 | A 'data-offset' of 0 indicates that it starts in the first (4-byte aligned) | |
121 | byte after the FIT. | |
122 | ||
cd153556 | 123 | .TP |
8e35bb07 | 124 | .BI "\-f [" "image tree source file" " | " "auto" "]" |
7aecfdd0 | 125 | Image tree source file that describes the structure and contents of the |
cd153556 NI |
126 | FIT image. |
127 | ||
8e35bb07 SG |
128 | This can be automatically generated for some simple cases. |
129 | Use "-f auto" for this. In that case the arguments -d, -A, -O, -T, -C, -a | |
130 | and -e are used to specify the image to include in the FIT and its attributes. | |
131 | No .its file is required. | |
132 | ||
95d77b44 SG |
133 | .TP |
134 | .BI "\-F" | |
135 | Indicates that an existing FIT image should be modified. No dtc | |
758497c3 | 136 | compilation is performed and the \-f flag should not be given. |
95d77b44 SG |
137 | This can be used to sign images with additional keys after initial image |
138 | creation. | |
139 | ||
0f7c6cdc TV |
140 | .TP |
141 | .BI "\-i [" "ramdisk_file" "]" | |
142 | Appends the ramdisk file to the FIT. | |
143 | ||
80e4df8a SG |
144 | .TP |
145 | .BI "\-k [" "key_directory" "]" | |
146 | Specifies the directory containing keys to use for signing. This directory | |
147 | should contain a private key file <name>.key for use with signing and a | |
148 | certificate <name>.crt (containing the public key) for use with verification. | |
149 | ||
e29495d3 SG |
150 | .TP |
151 | .BI "\-K [" "key_destination" "]" | |
152 | Specifies a compiled device tree binary file (typically .dtb) to write | |
153 | public key information into. When a private key is used to sign an image, | |
154 | the corresponding public key is written into this file for for run-time | |
155 | verification. Typically the file here is the device tree binary used by | |
156 | CONFIG_OF_CONTROL in U-Boot. | |
157 | ||
f8f9107d TR |
158 | .TP |
159 | .BI "\-p [" "external position" "]" | |
160 | Place external data at a static external position. See \-E. Instead of writing | |
161 | a 'data-offset' property defining the offset from the end of the FIT, \-p will | |
162 | use 'data-position' as the absolute position from the base of the FIT. | |
163 | ||
399c744b SG |
164 | .TP |
165 | .BI "\-r | |
166 | Specifies that keys used to sign the FIT are required. This means that they | |
167 | must be verified for the image to boot. Without this option, the verification | |
168 | will be optional (useful for testing but not for release). | |
169 | ||
7aecfdd0 | 170 | .SH EXAMPLES |
cd153556 NI |
171 | |
172 | List image information: | |
173 | .nf | |
174 | .B mkimage -l uImage | |
175 | .fi | |
176 | .P | |
177 | Create legacy image with compressed PowerPC Linux kernel: | |
178 | .nf | |
179 | .B mkimage -A powerpc -O linux -T kernel -C gzip \\\\ | |
180 | .br | |
181 | .B -a 0 -e 0 -n Linux -d vmlinux.gz uImage | |
182 | .fi | |
183 | .P | |
184 | Create FIT image with compressed PowerPC Linux kernel: | |
185 | .nf | |
186 | .B mkimage -f kernel.its kernel.itb | |
187 | .fi | |
e29495d3 SG |
188 | .P |
189 | Create FIT image with compressed kernel and sign it with keys in the | |
190 | /public/signing-keys directory. Add corresponding public keys into u-boot.dtb, | |
191 | skipping those for which keys cannot be found. Also add a comment. | |
192 | .nf | |
193 | .B mkimage -f kernel.its -k /public/signing-keys -K u-boot.dtb \\\\ | |
758497c3 | 194 | .br |
3837ce65 | 195 | .B -c """Kernel 3.8 image for production devices""" kernel.itb |
e29495d3 | 196 | .fi |
cd153556 | 197 | |
95d77b44 SG |
198 | .P |
199 | Update an existing FIT image, signing it with additional keys. | |
200 | Add corresponding public keys into u-boot.dtb. This will resign all images | |
201 | with keys that are available in the new directory. Images that request signing | |
202 | with unavailable keys are skipped. | |
203 | .nf | |
204 | .B mkimage -F -k /secret/signing-keys -K u-boot.dtb \\\\ | |
758497c3 | 205 | .br |
3837ce65 | 206 | .B -c """Kernel 3.8 image for production devices""" kernel.itb |
95d77b44 SG |
207 | .fi |
208 | ||
8e35bb07 SG |
209 | .P |
210 | Create a FIT image containing a kernel, using automatic mode. No .its file | |
211 | is required. | |
212 | .nf | |
213 | .B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\ | |
214 | .br | |
215 | .B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb | |
216 | .fi | |
fb4cce0f SG |
217 | .P |
218 | Create a FIT image containing a kernel and some device tree files, using | |
219 | automatic mode. No .its file is required. | |
220 | .nf | |
221 | .B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\ | |
222 | .br | |
223 | .B -c """Kernel 4.4 image for production devices""" -d vmlinuz \\\\ | |
7a439cad | 224 | .B -b /path/to/rk3288-firefly.dtb -b /path/to/rk3288-jerry.dtb kernel.itb |
fb4cce0f | 225 | .fi |
8e35bb07 | 226 | |
cd153556 NI |
227 | .SH HOMEPAGE |
228 | http://www.denx.de/wiki/U-Boot/WebHome | |
229 | .PP | |
230 | .SH AUTHOR | |
231 | This manual page was written by Nobuhiro Iwamatsu <[email protected]> | |
80e4df8a SG |
232 | and Wolfgang Denk <[email protected]>. It was updated for image signing by |
233 | Simon Glass <[email protected]>. |