Welcome to KIWI NG

Build Linux images from one description in a predictable two-step workflow.

KIWI NG is a command-line image builder for Linux distributions. It creates bootable, reproducible images for virtual machines, cloud platforms, removable media, containers, and specialized deployment targets.

Note

This documentation covers KIWI Next Generation (KIWI NG) 11.0.0.

Build Architecture

KIWI NG needs an image description and repositories with packages. The prepare step creates a new root tree, and the create step turns it into one or more images.

KIWI NG builds from an image description and the repositories that provide the packages for it. In the prepare step, KIWI creates a new root tree. In the create step, KIWI converts that prepared root tree into one or more image artifacts.

Diagram description:

The diagram shows two required inputs: an image description and the repositories that contain the packages used for the build. Both feed the prepare step, which creates a new root tree. The create step then turns that prepared root tree into one or more images such as disk, ISO, or container artifacts.

The image description directory typically contains:

  • config.xml or a *.kiwi file with the image definition.

  • Repository definitions that point to the package sources used during the build.

  • Optional overlays, archives, and shell hooks that customize the prepared root tree or the final image artifacts.

Why KIWI?

  • One source, multiple outputs: prepare a root filesystem once and create one or more image formats from it.

  • Declarative image definitions: keep image metadata, repositories, packages, users, and storage settings in a versioned description.

  • Broad target support: build for bare metal, virtual machines, cloud environments, live media, and containers.

  • Distribution-aware builds: work with the package managers and repository layouts used by the supported Linux distributions.

  • Controlled customization: extend builds with overlays, archives, and scripts when the schema alone is not enough.

Get Started

Start with Quick Start for a first build, Concept and Workflow for workflow details, and Image Description for the schema-backed reference for description files.

System Requirements

To build images with KIWI NG, you need:

  • A recent Linux distribution. See Build Host Constraints for the tested targets.

  • Enough free disk space for the build root, caches, and resulting images. A minimum of 15 GB is recommended.

  • Python 3.9 or newer.

  • Git to clone image descriptions and example repositories.

  • Optionally, a virtualization environment such as QEMU to boot and inspect the resulting images.

The project officially tests and supports the following distributions:

Distribution

Version

Fedora Linux

43+

CentOS Stream

10+

CentOS Stream Hyperscale

10+

openSUSE Tumbleweed

after April 2025

openSUSE Leap 16.0+

16.0+

Canonical Ubuntu Linux

26.04+

Debian GNU/Linux

13+

Arch Linux

after April 2025

Contact

  • Mailing list

    The kiwi-images group is an open group, and anyone can subscribe, even if you do not have a Google account.

  • Matrix

    An open network for secure, decentralized communication. Please find the #kiwi:matrix.org room via Matrix on the web or by using the supported clients.