1KIWI::SYSTEM::BUILD(8) KIWI NG KIWI::SYSTEM::BUILD(8)
2
3
4
6 kiwi::system::build - Build image in combined prepare and create step
7
9 kiwi-ng [global options] service <command> [<args>]
10
11 kiwi-ng system build -h | --help
12 kiwi-ng system build --description=<directory> --target-dir=<directory>
13 [--allow-existing-root]
14 [--clear-cache]
15 [--ignore-repos]
16 [--ignore-repos-used-for-build]
17 [--set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>]
18 [--set-repo-credentials=<user:pass_or_filename>]
19 [--add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>...]
20 [--add-repo-credentials=<user:pass_or_filename>...]
21 [--add-package=<name>...]
22 [--add-bootstrap-package=<name>...]
23 [--delete-package=<name>...]
24 [--set-container-derived-from=<uri>]
25 [--set-container-tag=<name>]
26 [--add-container-label=<label>...]
27 [--signing-key=<key-file>...]
28 kiwi-ng system build help
29
31 build an image in one step. The build command combines kiwi's prepare
32 and create steps in order to build an image with just one command call.
33 The build command creates the root directory of the image below <tar‐
34 get-dir>/build/image-root and if not specified differently writes a log
35 file <target-dir>/build/image-root.log. The result image files are cre‐
36 ated in the specified target-dir.
37
39 --add-bootstrap-package=<name>
40 specify package to install as part of the early kiwi bootstrap
41 phase. The option can be specified multiple times
42
43 --add-container-label=<name=value>
44 add a container label in the container configuration metadata.
45 It overwrites the label with the provided key-value pair in case
46 it was already defined in the XML description
47
48 --add-package=<name>
49 specify package to add(install). The option can be specified
50 multiple times
51
52 --add-repo=<source,type,alias,priority,imageinclude,pack‐
53 age_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
54 Add a new repository to the existing repository setup in the XML
55 description. This option can be specified multiple times. For
56 details about the provided option values see the --set-repo in‐
57 formation below
58
59 --add-repo-credentials=<user:pass_or_filename>
60 For uri://user:pass@location type repositories, set the user and
61 password connected with an add-repo specification. The first
62 add-repo-credentials is connected with the first add-repo speci‐
63 fication and so on. If the provided value describes a filename
64 in the filesystem, the first line of that file is read and used
65 as credentials information.
66
67 --allow-existing-root
68 Allow to use an existing root directory from an earlier build
69 attempt. Use with caution this could cause an inconsistent root
70 tree if the existing contents does not fit to the former image
71 type setup
72
73 --clear-cache
74 delete repository cache for each of the used repositories before
75 installing any package. This is useful if an image build should
76 take and validate the signature of the package from the original
77 repository source for any build. Some package managers uncondi‐
78 tionally trust the contents of the cache, which is ok for cache
79 data dedicated to one build but in case of kiwi the cache is
80 shared between multiple image builds on that host for perfor‐
81 mance reasons.
82
83 --delete-package=<name>
84 specify package to delete. The option can be specified multiple
85 times
86
87 --description=<directory>
88 Path to the XML description. This is a directory containing at
89 least one _config.xml_ or _*.kiwi_ XML file.
90
91 --ignore-repos
92 Ignore all repository configurations from the XML description.
93 Using that option is usually done with a sequence of --add-repo
94 options otherwise there are no repositories available for the
95 image build which would lead to an error.
96
97 --ignore-repos-used-for-build
98 Works the same way as --ignore-repos except that repository con‐
99 figurations which has the imageonly attribute set to true will
100 not be ignored.
101
102 --set-repo=<source,type,alias,priority,imageinclude,pack‐
103 age_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
104 Overwrite the first repository entry in the XML description with
105 the provided information:
106
107 • source
108
109 source url, pointing to a package repository which must be in
110 a format supported by the selected package manager. See the
111 URI_TYPES section for details about the supported source loca‐
112 tors.
113
114 • type
115
116 repository type, could be one of rpm-md, rpm-dir or yast2.
117
118 • alias
119
120 An alias name for the repository. If not specified kiwi gener‐
121 ate an alias name as result of hex representation from uuid4.
122 The hex is used to uniquely identify the repository, but not
123 very expressive. We recommend to set an expressive and uniq
124 alias name.
125
126 • priority
127
128 A number indicating the repository priority. How the value is
129 evaluated depends on the selected package manager. Please re‐
130 fer to the package manager documentation for details about the
131 supported priority ranges and their meaning.
132
133 • imageinclude
134
135 Set to either true or false to specify if this repository
136 should be part of the system image repository setup or not.
137
138 • package_gpgcheck
139
140 Set to either true or false to specify if this repository
141 should validate the package signatures.
142
143 • {signing_keys}
144
145 List of signing_keys enclosed in curly brackets and delimited
146 by semicolon. The reference to a signing key must be provided
147 as URI format
148
149 • components
150
151 Component list for debian based repos as string delimited by a
152 space
153
154 • distribution
155
156 Main distribution name for debian based repos
157
158 • repo_gpgcheck
159
160 Set to either true or false to specify if this repository
161 should validate the repository signature.
162
163 --set-repo-credentials=<user:pass_or_filename>
164 For uri://user:pass@location type repositories, set the user and
165 password connected to the set-repo specification. If the pro‐
166 vided value describes a filename in the filesystem, the first
167 line of that file is read and used as credentials information.
168
169 --set-container-derived-from=<uri>
170 Overwrite the source location of the base container for the se‐
171 lected image type. The setting is only effective if the config‐
172 ured image type is setup with an initial derived_from reference
173
174 --set-container-tag=<name>
175 Overwrite the container tag in the container configuration. The
176 setting is only effective if the container configuraiton pro‐
177 vides an initial tag value
178
179 --signing-key=<key-file>
180 set the key file to be trusted and imported into the package
181 manager database before performing any operation. This is useful
182 if an image build should take and validate repository and pack‐
183 age signatures during build time. This option can be specified
184 multiple times
185
186 --target-dir=<directory>
187 Path to store the build results.
188
190 • http:// | https:// | ftp://
191
192 remote repository delivered via http or ftp protocol.
193
194 • obs://
195
196 Open Buildservice repository. The source data is translated into an
197 http url pointing to http://download.opensuse.org.
198
199 • ibs://
200
201 Internal Open Buildservice repository. The source data is translated
202 into an http url pointing to download.suse.de.
203
204 • iso://
205
206 Local iso file. kiwi loop mounts the file and uses the mount point as
207 temporary directory source type
208
209 • dir://
210
211 Local directory
212
214 Marcus Schäfer
215
217 2023, Marcus Schäfer
218
219
220
221
2229.25.16 Oct 16, 2023 KIWI::SYSTEM::BUILD(8)