kiwi::system::prepare - Prepare image root system
kiwi-ng [global options] service <command> [<args>]
kiwi-ng system prepare -h | --help
kiwi-ng system prepare --description=<directory> --root=<directory>
[--allow-existing-root]
[--clear-cache]
[--ignore-repos]
[--ignore-repos-used-for-build]
[--set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>]
[--set-repo-credentials=<user:pass_or_filename>]
[--add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>...]
[--add-repo-credentials=<user:pass_or_filename>...]
[--add-package=<name>...]
[--add-bootstrap-package=<name>...]
[--delete-package=<name>...]
[--set-container-derived-from=<uri>]
[--set-container-tag=<name>]
[--add-container-label=<label>...]
[--signing-key=<key-file>...]
kiwi-ng system prepare help
Create a new image root directory. The prepare step builds a new
image root directory from the specified XML description. The specified root
directory is the root directory of the new image root system. As the root
user you can enter this system via chroot as follows:
$ chroot <directory> bash
- --add-bootstrap-package=<name>
- specify package to install as part of the early kiwi bootstrap phase. The
option can be specified multiple times
- --add-container-label=<name=value>
- add a container label in the container configuration metadata. It
overwrites the label with the provided key-value pair in case it was
already defined in the XML description
- --add-package=<name>
- specify package to add(install). The option can be specified multiple
times
- --add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
- Add a new repository to the existing repository setup in the XML
description. This option can be specified multiple times. For details
about the provided option values see the --set-repo information
below
- --add-repo-credentials=<user:pass_or_filename>
- For uri://user:pass@location type repositories, set the user and
password connected with an add-repo specification. The first
add-repo-credentials is connected with the first add-repo specification
and so on. If the provided value describes a filename in the filesystem,
the first line of that file is read and used as credentials
information.
- --allow-existing-root
- allow to re-use an existing image root directory
- --clear-cache
- delete repository cache for each of the used repositories before
installing any package. This is useful if an image build should take and
validate the signature of the package from the original repository source
for any build. Some package managers unconditionally trust the contents of
the cache, which is ok for cache data dedicated to one build but in case
of kiwi the cache is shared between multiple image builds on that host for
performance reasons.
- --delete-package=<name>
- specify package to delete. The option can be specified multiple times
- --description=<directory>
- Path to the kiwi XML description. Inside of that directory there must be
at least a config.xml of *.kiwi XML description.
- --ignore-repos
- Ignore all repository configurations from the XML description. Using that
option is usually done with a sequence of --add-repo options otherwise
there are no repositories available for the image build which would lead
to an error.
- --ignore-repos-used-for-build
- Works the same way as --ignore-repos except that repository configurations
which has the imageonly attribute set to true will not be ignored.
- --root=<directory>
- Path to create the new root system.
- --set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
- Overwrite the first repository entry in the XML description with the
provided information:
- source
source url, pointing to a package repository which must be in
a format supported by the selected package manager. See the URI_TYPES
section for details about the supported source locators.
- type
repository type, could be one of rpm-md, rpm-dir
or yast2.
- alias
An alias name for the repository. If not specified kiwi
generate an alias name as result of hex representation from uuid4. The
hex is used to uniquely identify the repository, but not very
expressive. We recommend to set an expressive and uniq alias name.
- priority
A number indicating the repository priority. How the value is
evaluated depends on the selected package manager. Please refer to the
package manager documentation for details about the supported priority
ranges and their meaning.
- imageinclude
Set to either true or false to specify if this
repository should be part of the system image repository setup or
not.
- package_gpgcheck
Set to either true or false to specify if this
repository should validate the package signatures.
List of signing_keys enclosed in curly brackets and delimited by
semicolon. The reference to a signing key must be provided as URI format
- components
Component list for debian based repos as string delimited by a
space
- distribution
Main distribution name for debian based repos
- repo_gpgcheck
Set to either true or false to specify if this
repository should validate the repository signature.
- --set-repo-credentials=<user:pass_or_filename>
- For uri://user:pass@location type repositories, set the user and
password connected to the set-repo specification. If the provided value
describes a filename in the filesystem, the first line of that file is
read and used as credentials information.
- --set-container-derived-from=<uri>
- overwrite the source location of the base container for the selected image
type. The setting is only effective if the configured image type is setup
with an initial derived_from reference
- --set-container-tag=<name>
- overwrite the container tag in the container configuration. The setting is
only effective if the container configuraiton provides an initial tag
value
- --signing-key=<key-file>
- set the key file to be trusted and imported into the package manager
database before performing any operation. This is useful if an image build
should take and validate repository and package signatures during build
time. This option can be specified multiple times.