1KIWI(8)                              kiwi                              KIWI(8)
2
3
4

NAME

6       kiwi - Creating Operating System Images
7

SYNOPSIS

9          kiwi [global options] service <command> [<args>]
10
11          kiwi -h | --help
12          kiwi [--profile=<name>...]
13               [--type=<build_type>]
14               [--logfile=<filename>]
15               [--debug]
16               [--color-output]
17              image <command> [<args>...]
18          kiwi [--debug]
19               [--color-output]
20              result <command> [<args>...]
21          kiwi [--profile=<name>...]
22               [--shared-cache-dir=<directory>]
23               [--type=<build_type>]
24               [--logfile=<filename>]
25               [--debug]
26               [--color-output]
27              system <command> [<args>...]
28          kiwi compat <legacy_args>...
29          kiwi -v | --version
30          kiwi help
31

DESCRIPTION

33       KIWI  is an imaging solution that is based on an image XML description.
34       Such a description is represented by  a  directory  which  includes  at
35       least  one config.xml or .kiwi file and may as well include other files
36       like scripts or configuration data.
37
38       A collection of example image descriptions can be found on  the  github
39       repository here: https://github.com/OSInside/kiwi-descriptions. Most of
40       the descriptions provide a so called JeOS image. JeOS means Just enough
41       Operating  System. A JeOS is a small, text only based image including a
42       predefined remote source setup to allow installation of  missing  soft‐
43       ware components at a later point in time.
44
45       KIWI  operates  in  two  steps.  The system build command combines both
46       steps into one to make it easier to start with KIWI. The first step  is
47       the  preparation  step and if that step was successful, a creation step
48       follows which is able to create different image output types.
49
50       In the preparation step, you prepare a directory including the contents
51       of  your new filesystem based on one or more software package source(s)
52       The creation step is based on the result of the  preparation  step  and
53       uses  the  contents  of  the  new  image root tree to create the output
54       image.
55
56       KIWI supports the creation of the following image types:
57
58       · ISO Live Systems
59
60       · Virtual Disk for e.g cloud frameworks
61
62       · OEM Expandable Disk for system deployment from ISO or the network
63
64       · File system images for deployment in a pxe boot environment
65
66       Depending on the image type a variety of  different  disk  formats  and
67       architectures are supported.
68

GLOBAL OPTIONS

70       --color-output
71              Use  Escape Sequences to print different types of information in
72              colored output. The underlaying terminal has to understand those
73              escape  characters.  Error messages appear red, warning messages
74              yellow and debugging information will be printed light grey.
75
76       --debug
77              Print debug information on the commandline.
78
79       --logfile=<filename>
80              Specify log file.  the  logfile  contains  detailed  information
81              about the process.
82
83       --profile=<name>
84              Select profile to use. The specified profile must be part of the
85              XML description. The option can be specified multiple  times  to
86              allow using a combination of profiles
87
88       --shared-cache-dir=<directory>
89              Specify  an alternative shared cache directory. The directory is
90              shared via bind mount between the build host and image root sys‐
91              tem  and  contains  information  about  package repositories and
92              their cache and meta  data.  The  default  location  is  set  to
93              /var/cache/kiwi
94
95       --type=<build_type>
96              Select  image  build type. The specified build type must be con‐
97              figured as part of the XML description.
98
99       --version
100              Show program version
101

EXAMPLE

103          $ git clone https://github.com/OSInside/kiwi-descriptions
104
105          $ kiwi --type vmx system build \
106              --description kiwi-descriptions/suse/x86_64/suse-leap-15.1-JeOS \
107              --target-dir /tmp/myimage
108

THE RUNTIME CONFIGURATION FILE

110       KIWI supports an additional configuration  file  for  runtime  specific
111       settings  that  do  not belong into the image description but which are
112       persistent and would be unsuitable for command line parameters.
113
114       The runtime configuration file must adhere to  the  YAML  syntax.  KIWI
115       searches for the runtime configuration file in the following locations:
116
117       1. ~/.config/kiwi/config.yml
118
119       2. /etc/kiwi.yml
120
121       The  parameters  that can be changed via the runtime configuration file
122       are illustrated in the following example:
123
124          xz:
125            # Additional command line flags for `xz`
126            # see `man xz` for details
127            - options: -9e
128
129          obs:
130            # Override the URL to the Open Build Service (i.e. how repository
131            # paths starting with `obs://` will be resolved).
132            # This setting is useful for building a KIWI appliance locally, which is
133            # hosted on a custom OBS instance.
134            # defaults to: http://download.opensuse.org/repositories
135            - download_url: https://build.my-domain.example/repositories
136
137            # Specifies whether the Open Build Service instance is public or
138            # private
139            # defaults to true
140            - public: true | false
141
142          bundle:
143            # Configure whether the image bundle should contain a XZ compressed
144            # image result or not.
145            - compress: true | false
146
147          container:
148            # Specify the compression algorithm for compressing container
149            # images. Invalid entries are skipped.
150            # Defaults to `xz`.
151            - compress: xz | none
152
153          iso:
154            # Configure which tool KIWI will use to build ISO images. Invalid
155            # entries are ignored.
156            # Defaults to `xorriso`
157            - tool_category: cdrtools | xorriso
158
159          oci:
160            # Specify the OCI archive tool that will be used to create container
161            # archives for OCI compliant images.
162            # Defaults to `umoci`.
163            - archive_tool: umoci | buildah
164
165          build_constraints:
166            # Configure the maximum image size. Either provide a number in bytes
167            # or specify it with the suffix `m`/`M` for megabytes or `g`/`G` for
168            # gigabytes.
169            # If the resulting image exceeds the specified value, then KIWI will
170            # abort with an error.
171            # The default is no size constraint.
172            - max_size: 700m
173
174          runtime_checks:
175            # Provide a list of runtime checks that should be disabled. Checks
176            # that do not exist but are present in this list are silently
177            # ignored.
178            - disable: check_image_include_repos_publicly_resolvable | \
179                check_target_directory_not_in_shared_cache | \
180                check_volume_label_used_with_lvm | \
181                check_volume_setup_defines_multiple_fullsize_volumes | \
182                check_volume_setup_has_no_root_definition | \
183                check_container_tool_chain_installed | \
184                check_boot_description_exists | \
185                check_consistent_kernel_in_boot_and_system_image | \
186                check_dracut_module_for_oem_install_in_package_list | \
187                check_dracut_module_for_disk_oem_in_package_list | \
188                check_dracut_module_for_live_iso_in_package_list | \
189                check_dracut_module_for_disk_overlay_in_package_list | \
190                check_efi_mode_for_disk_overlay_correctly_setup | \
191                check_xen_uniquely_setup_as_server_or_guest | \
192                check_mediacheck_only_for_x86_arch | \
193                check_minimal_required_preferences
194

COMPATIBILITY

196       This version of KIWI uses a different caller syntax compared to  former
197       versions.  However  there is a compatibility mode which allows to use a
198       legacy KIWI commandline as follows:
199
200          $ kiwi compat \
201              --build kiwi-descriptions/suse/x86_64/suse-leap-15.1-JeOS \
202              --type vmx -d /tmp/myimage
203

AUTHOR

205       Marcus Schäfer
206
208       2019, Marcus Schäfer
209
210
211
212
2139.19.5                           Dec 02, 2019                          KIWI(8)
Impressum