Provided by: kiwi_10.2.27-1_amd64 bug

NAME

       kiwi::system::prepare - Prepare image root system

SYNOPSIS

          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,repo_sourcetype>]
              [--set-repo-credentials=<user:pass_or_filename>]
              [--add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck,repo_sourcetype>...]
              [--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>...]
              [--set-type-attr=<attribute=value>...]
              [--set-release-version=<version>]
              [--signing-key=<key-file>...]
          kiwi-ng system prepare help

DESCRIPTION

       Create a new image root directory. The prepare step sets up a new image root directory from the specified
       XML  description. The specified directory acts as a root directory of the new image root system.  You can
       enter the system as root via chroot using the following command:

          $ chroot <directory> bash

OPTIONS

       --add-bootstrap-package=<name>
              Specify a package to install as part of the early KIWI NG bootstrap  phase.   The  option  can  be
              specified multiple times.

       --add-container-label=<name=value>
              Add  a  container  label to the container configuration metadata. It overwrites the label with the
              provided key-value pair if it was already defined in the XML description.

       --add-package=<name>
              Specify a 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,repo_sourcetype>
              Add a new repository to the existing repository setup in the XML description. This option  can  be
              specified  multiple  times.   For  details  about  the supported 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.  If the provided value is a filename in the filesystem, the first line of
              the file is used as credentials.

       --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  validates  the signature of the package from the original repository
              source for any build. Some package managers unconditionally trust the contents of the cache, which
              works for cache data dedicated to one build. In case of KIWI  NG,  the  cache  is  shared  between
              multiple image builds on the host for performance reasons.

       --delete-package=<name>
              Specify a package to delete. The option can be specified multiple times.

       --description=<directory>
              Path  to  the  KIWI NG XML description. The directory must contain at least a config.xml of *.kiwi
              XML description.

       --ignore-repos
              Ignore all repository configurations in the XML description.  This  option  is  normally  used  in
              combination with the --add-repo` option. Otherwise, an image build operation results in an error.

       --ignore-repos-used-for-build
              Works  the  same way as --ignore-repos,` but the repository configurations that have the imageonly
              attribute set to true are not ignored.

       --root=<directory>
              Path to the new root system.

       --set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck,repo_sourcetype>
              Overwrite the first repository entry in the XML description with the provided information:

              • source

                Source URL pointing to a package repository that 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: rpm-md, apt-deb.

              • alias

                An  alias  name  for the repository. If not specified, KIWI NG generates an alias name based hex
                representation of uuid4. While the hex is used to uniquely identify the repository,  it  is  not
                descriptive.  We recommend to use a descriptive and unique alias name.

              • priority

                A  number indicating the repository priority. How the value is evaluated depends on the selected
                package manager. 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 the repository is part of the system image repository
                setup or not.

              • package_gpgcheck

                Set to either true or false to specify if the repository must validate the package signatures.

                • {signing_keys}

                List of signing_keys enclosed in curly brackets and delimited by the semicolon. The reference to
                a signing key must be provided in the URI format.

              • components

                Component list for Debian-based repos as a space-delimited string.

              • distribution

                Main distribution name for Debian-based repos.

              • repo_gpgcheck

                Set to either true or false to specify if the repository must validate the repository signature.

              • repo_sourcetype

                Specify the source type of the repository  path.  Supported  values  are  baseurl,  metalink  or
                mirrorlist.  With  baseurl  the source path is interpreted as simple URI. If metalink is set the
                source path is resolved as metalink URI and if mirrorlist is set the source path is resolved  as
                a mirrorlist file. If not specified, baseurl is the default

       --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 is a filename in the filesystem, the first  line  of
              that file is used as credentials.

       --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  applies  only  if  the
              container configuration provides an initial tag value.

       --set-type-attr=<attribute=value>
              Overwrite/set  the  attribute with the provided value in the selected build type section. Example:
              --set-type-attr volid=some

       --set-release-version=<version>
              Overwrite/set the release-version element in the selected build type preferences section

       --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 validates repository and package signatures during
              build time. This option can be specified multiple times.

AUTHOR

       Marcus Schäfer

COPYRIGHT

       2020-2025, Marcus Schäfer

10.2.27                                           Jul 14, 2025                          KIWI::SYSTEM::PREPARE(8)