Blame view

doc/mkimage.1 6.67 KB
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
1
2
3
4
5
6
  .TH MKIMAGE 1 "2010-05-16"
  
  .SH NAME
  mkimage \- Generate image for U-Boot
  .SH SYNOPSIS
  .B mkimage
80e4df8ac   Simon Glass   mkimage: Add -k o...
7
8
9
10
11
12
  .RB "\-l [" "uimage file name" "]"
  
  .B mkimage
  .RB [\fIoptions\fP] " \-f [" "image tree source file" "]" " [" "uimage file name" "]"
  
  .B mkimage
95d77b447   Simon Glass   mkimage: Add -F o...
13
14
15
  .RB [\fIoptions\fP] " \-F [" "uimage file name" "]"
  
  .B mkimage
80e4df8ac   Simon Glass   mkimage: Add -k o...
16
  .RB [\fIoptions\fP] " (legacy mode)"
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
17
18
19
20
  .SH "DESCRIPTION"
  The
  .B mkimage
  command is used to create images for use with the U-Boot boot loader.
7aecfdd0f   Horst Kronstorfer   doc/mkimage.1: Fi...
21
  These images can contain the linux kernel, device tree blob, root file
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
22
23
24
25
  system image, firmware images etc., either separate or combined.
  
  .B mkimage
  supports two different formats:
7aecfdd0f   Horst Kronstorfer   doc/mkimage.1: Fi...
26
  The old
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
27
28
29
30
31
32
  .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.
7aecfdd0f   Horst Kronstorfer   doc/mkimage.1: Fi...
33
  The new
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
34
  .I FIT (Flattened Image Tree) format
7aecfdd0f   Horst Kronstorfer   doc/mkimage.1: Fi...
35
  allows for more flexibility in handling images of various types and also
80e4df8ac   Simon Glass   mkimage: Add -k o...
36
37
  enhances integrity protection of images with stronger checksums. It also
  supports verified boot.
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  
  .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" "]"
3f1266d6d   Loïc Minier   Escape minus sign...
52
  Set architecture. Pass \-h as the architecture to see the list of supported architectures.
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
53
54
55
56
  
  .TP
  .BI "\-O [" "os" "]"
  Set operating system. bootm command of u-boot changes boot method by os type.
3f1266d6d   Loïc Minier   Escape minus sign...
57
  Pass \-h as the OS to see the list of supported OS.
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
58
59
60
61
  
  .TP
  .BI "\-T [" "image type" "]"
  Set image type.
3f1266d6d   Loïc Minier   Escape minus sign...
62
  Pass \-h as the image to see the list of supported image type.
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
63
64
65
66
  
  .TP
  .BI "\-C [" "compression type" "]"
  Set compression type.
3f1266d6d   Loïc Minier   Escape minus sign...
67
  Pass \-h as the compression to see the list of supported compression type.
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
68
69
  
  .TP
4fd096f45   Jelle van der Waa   doc: typo fix add...
70
  .BI "\-a [" "load address" "]"
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
71
72
73
74
75
76
77
  Set load address with a hex number.
  
  .TP
  .BI "\-e [" "entry point" "]"
  Set entry point with a hex number.
  
  .TP
80e4df8ac   Simon Glass   mkimage: Add -k o...
78
79
80
81
  .BI "\-l"
  List the contents of an image.
  
  .TP
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
  .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
7a439cadc   Andreas Bießmann   mkimage: fix argu...
97
98
  .BI "\-b [" "device tree file" "]
  Appends the device tree binary file (.dtb) to the FIT.
fb4cce0f9   Simon Glass   mkimage: Support ...
99
100
  
  .TP
4f6104270   Simon Glass   mkimage: Add -c o...
101
102
103
104
105
106
  .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
49fbf4371   Horst Kronstorfer   doc/mkimage.1: Fi...
107
  .BI "\-D [" "dtc options" "]"
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
108
109
110
111
  Provide special options to the device tree compiler that is used to
  create the image.
  
  .TP
722ebc8f8   Simon Glass   mkimage: Support ...
112
113
114
115
116
117
118
119
120
  .BI "\-E
  After processing, move the image data outside the FIT and store a data offset
  in the FIT. Images will be placed one after the other immediately after the
  FIT, with each one aligned to a 4-byte boundary. The existing 'data' property
  in each image will be replaced with 'data-offset' and 'data-size' properties.
  A 'data-offset' of 0 indicates that it starts in the first (4-byte aligned)
  byte after the FIT.
  
  .TP
8e35bb07e   Simon Glass   mkimage: Support ...
121
  .BI "\-f [" "image tree source file" " | " "auto" "]"
7aecfdd0f   Horst Kronstorfer   doc/mkimage.1: Fi...
122
  Image tree source file that describes the structure and contents of the
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
123
  FIT image.
8e35bb07e   Simon Glass   mkimage: Support ...
124
125
126
127
  This can be automatically generated for some simple cases.
  Use "-f auto" for this. In that case the arguments -d, -A, -O, -T, -C, -a
  and -e are used to specify the image to include in the FIT and its attributes.
  No .its file is required.
80e4df8ac   Simon Glass   mkimage: Add -k o...
128
  .TP
95d77b447   Simon Glass   mkimage: Add -F o...
129
130
  .BI "\-F"
  Indicates that an existing FIT image should be modified. No dtc
758497c3f   Vagrant Cascadian   Fix cosmetic issu...
131
  compilation is performed and the \-f flag should not be given.
95d77b447   Simon Glass   mkimage: Add -F o...
132
133
134
135
  This can be used to sign images with additional keys after initial image
  creation.
  
  .TP
0f7c6cdc8   Tomeu Vizoso   mkimage: Allow in...
136
137
138
139
  .BI "\-i [" "ramdisk_file" "]"
  Appends the ramdisk file to the FIT.
  
  .TP
80e4df8ac   Simon Glass   mkimage: Add -k o...
140
141
142
143
  .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.
e29495d37   Simon Glass   mkimage: Add -K t...
144
145
146
147
148
149
150
  .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.
399c744b2   Simon Glass   mkimage: Add -r o...
151
  .TP
f8f9107d9   Teddy Reed   mkimage: fit: spl...
152
153
154
155
156
157
  .BI "\-p [" "external position" "]"
  Place external data at a static external position. See \-E. Instead of writing
  a 'data-offset' property defining the offset from the end of the FIT, \-p will
  use 'data-position' as the absolute position from the base of the FIT.
  
  .TP
399c744b2   Simon Glass   mkimage: Add -r o...
158
159
160
161
  .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).
7aecfdd0f   Horst Kronstorfer   doc/mkimage.1: Fi...
162
  .SH EXAMPLES
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
  
  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
e29495d37   Simon Glass   mkimage: Add -K t...
180
181
182
183
184
185
  .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 \\\\
758497c3f   Vagrant Cascadian   Fix cosmetic issu...
186
  .br
3837ce65b   Simon Glass   tools: Add a func...
187
  .B -c """Kernel 3.8 image for production devices""" kernel.itb
e29495d37   Simon Glass   mkimage: Add -K t...
188
  .fi
cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
189

95d77b447   Simon Glass   mkimage: Add -F o...
190
191
192
193
194
195
196
  .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 \\\\
758497c3f   Vagrant Cascadian   Fix cosmetic issu...
197
  .br
3837ce65b   Simon Glass   tools: Add a func...
198
  .B -c """Kernel 3.8 image for production devices""" kernel.itb
95d77b447   Simon Glass   mkimage: Add -F o...
199
  .fi
8e35bb07e   Simon Glass   mkimage: Support ...
200
201
202
203
204
205
206
207
  .P
  Create a FIT image containing a kernel, using automatic mode. No .its file
  is required.
  .nf
  .B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
  .br
  .B -c """Kernel 4.4 image for production devices""" -d vmlinuz kernel.itb
  .fi
fb4cce0f9   Simon Glass   mkimage: Support ...
208
209
210
211
212
213
214
  .P
  Create a FIT image containing a kernel and some device tree files, using
  automatic mode. No .its file is required.
  .nf
  .B mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \\\\
  .br
  .B -c """Kernel 4.4 image for production devices""" -d vmlinuz \\\\
7a439cadc   Andreas Bießmann   mkimage: fix argu...
215
  .B -b /path/to/rk3288-firefly.dtb -b /path/to/rk3288-jerry.dtb kernel.itb
fb4cce0f9   Simon Glass   mkimage: Support ...
216
  .fi
8e35bb07e   Simon Glass   mkimage: Support ...
217

cd1535564   Nobuhiro Iwamatsu   Add mkimage manpage
218
219
220
221
222
  .SH HOMEPAGE
  http://www.denx.de/wiki/U-Boot/WebHome
  .PP
  .SH AUTHOR
  This manual page was written by Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
80e4df8ac   Simon Glass   mkimage: Add -k o...
223
224
  and Wolfgang Denk <wd@denx.de>. It was updated for image signing by
  Simon Glass <sjg@chromium.org>.