1KIWI::SYSTEM::BUILD(8)              KIWI NG             KIWI::SYSTEM::BUILD(8)
2
3
4

NAME

6       kiwi::system::build - Build image in combined prepare and create step
7

SYNOPSIS

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              [--add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>...]
19              [--add-package=<name>...]
20              [--add-bootstrap-package=<name>...]
21              [--delete-package=<name>...]
22              [--set-container-derived-from=<uri>]
23              [--set-container-tag=<name>]
24              [--add-container-label=<label>...]
25              [--signing-key=<key-file>...]
26          kiwi-ng system build help
27

DESCRIPTION

29       build  an  image in one step. The build command combines kiwi's prepare
30       and create steps in order to build an image with just one command call.
31       The  build  command creates the root directory of the image below <tar‐
32       get-dir>/build/image-root and if not specified differently writes a log
33       file <target-dir>/build/image-root.log. The result image files are cre‐
34       ated in the specified target-dir.
35

OPTIONS

37       --add-bootstrap-package=<name>
38              specify package to install as part of the early  kiwi  bootstrap
39              phase.  The option can be specified multiple times
40
41       --add-container-label=<name=value>
42              add  a  container label in the container configuration metadata.
43              It overwrites the label with the provided key-value pair in case
44              it was already defined in the XML description
45
46       --add-package=<name>
47              specify  package  to  add(install).  The option can be specified
48              multiple times
49
50       --add-repo=<source,type,alias,priority,imageinclude,pack‐
51       age_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
52              Add a new repository to the existing repository setup in the XML
53              description. This option can be specified multiple  times.   For
54              details  about the provided option values see the --set-repo in‐
55              formation below
56
57       --allow-existing-root
58              Allow to use an existing root directory from  an  earlier  build
59              attempt.  Use with caution this could cause an inconsistent root
60              tree if the existing contents does not fit to the  former  image
61              type setup
62
63       --clear-cache
64              delete repository cache for each of the used repositories before
65              installing any package. This is useful if an image build  should
66              take and validate the signature of the package from the original
67              repository source for any build. Some package managers  uncondi‐
68              tionally  trust the contents of the cache, which is ok for cache
69              data dedicated to one build but in case of  kiwi  the  cache  is
70              shared  between  multiple  image builds on that host for perfor‐
71              mance reasons.
72
73       --delete-package=<name>
74              specify package to delete. The option can be specified  multiple
75              times
76
77       --description=<directory>
78              Path  to  the XML description. This is a directory containing at
79              least one _config.xml_ or _*.kiwi_ XML file.
80
81       --ignore-repos
82              Ignore all repository configurations from the  XML  description.
83              Using  that option is usually done with a sequence of --add-repo
84              options otherwise there are no repositories  available  for  the
85              image build which would lead to an error.
86
87       --ignore-repos-used-for-build
88              Works the same way as --ignore-repos except that repository con‐
89              figurations which has the imageonly attribute set to  true  will
90              not be ignored.
91
92       --set-repo=<source,type,alias,priority,imageinclude,pack‐
93       age_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
94              Overwrite the first repository entry in the XML description with
95              the provided information:
96
97source
98
99                source  url, pointing to a package repository which must be in
100                a format supported by the selected package  manager.  See  the
101                URI_TYPES section for details about the supported source loca‐
102                tors.
103
104type
105
106                repository type, could be one of rpm-md, rpm-dir or yast2.
107
108alias
109
110                An alias name for the repository. If not specified kiwi calcu‐
111                lates  an  alias name as result from a sha sum. The sha sum is
112                used to uniquely identify the repository, but not very expres‐
113                sive. We recommend to set an expressive and uniq alias name.
114
115priority
116
117                A  number indicating the repository priority. How the value is
118                evaluated depends on the selected package manager. Please  re‐
119                fer to the package manager documentation for details about the
120                supported priority ranges and their meaning.
121
122imageinclude
123
124                Set to either true or false  to  specify  if  this  repository
125                should be part of the system image repository setup or not.
126
127package_gpgcheck
128
129                Set  to  either  true  or  false to specify if this repository
130                should validate the package signatures.
131
132{signing_keys}
133
134                List of signing_keys enclosed in curly brackets and  delimited
135                by  semicolon. The reference to a signing key must be provided
136                as URI format
137
138components
139
140                Component list for debian based repos as string delimited by a
141                space
142
143distribution
144
145                Main distribution name for debian based repos
146
147repo_gpgcheck
148
149                Set  to  either  true  or  false to specify if this repository
150                should validate the repository signature.
151
152       --set-container-derived-from=<uri>
153              overwrite the source location of the base container for the  se‐
154              lected  image type. The setting is only effective if the config‐
155              ured image type is setup with an initial derived_from reference
156
157       --set-container-tag=<name>
158              overwrite the container tag in the container configuration.  The
159              setting  is  only  effective if the container configuraiton pro‐
160              vides an initial tag value
161
162       --signing-key=<key-file>
163              set the key file to be trusted and  imported  into  the  package
164              manager database before performing any operation. This is useful
165              if an image build should take and validate repository and  pack‐
166              age  signatures  during build time. This option can be specified
167              multiple times
168
169       --target-dir=<directory>
170              Path to store the build results.
171

URI_TYPES

173http:// | https:// | ftp://
174
175         remote repository delivered via http or ftp protocol.
176
177obs://
178
179         Open Buildservice repository. The source data is translated  into  an
180         http url pointing to http://download.opensuse.org.
181
182ibs://
183
184         Internal  Open Buildservice repository. The source data is translated
185         into an http url pointing to download.suse.de.
186
187iso://
188
189         Local iso file. kiwi loop mounts the file and uses the mount point as
190         temporary directory source type
191
192dir://
193
194         Local directory
195

AUTHOR

197       Marcus Schäfer
198
200       2020, Marcus Schäfer
201
202
203
204
2059.24.52                          Dec 01, 2022           KIWI::SYSTEM::BUILD(8)
Impressum