Quick Start

Note

Abstract

This document describes how to start working with KIWI NG, an OS appliance builder. This description applies for version 10.0.6.

Before you start

  1. Install KIWI NG first, either via your distributions’ package manager (see Installation) or via:

    $ sudo pip install kiwi
    
  2. Clone the KIWI NG repository containing example appliances (see Example Appliance Descriptions):

    $ git clone https://github.com/OSInside/kiwi
    

Note

In case the following procedure causes any trouble please take a look at the Troubleshooting chapter and/or reach out at: Contact

Choose a First Image

Find example appliance descriptions in the KIWI NG repository checkout as follows:

$ tree -L 3 kiwi/build-tests

Take a look which images are available in the example appliances repository and select one that matches your desired image as close as possible. Or just use the one given in the examples below.

Build your First Image

Your first image will be a simple system disk image which can run in any full virtualization system like QEMU. Invoke the following KIWI NG command in order to build it:

$ sudo kiwi-ng system build \
    --description kiwi/build-tests/x86/leap/test-image-disk \
    --set-repo obs://openSUSE:Leap:15.5/standard \
    --target-dir /tmp/myimage

The resulting image will be placed into the folder /tmp/myimage with the suffix .raw.

If you don’t wish to create a openSUSE Leap 15.5 image, substitute the folder following the --description option with another folder that contains the image description which you selected.

Run your Image

Running an image actually means booting the operating system. In order to do that attach the disk image to a virtual system. In this example we use QEMU and boot it as follows:

$ sudo qemu -boot c \
    -drive file=kiwi-test-image-disk.x86_64-1.15.3.raw,format=raw,if=virtio \
    -m 4096 -serial stdio

Tweak and Customize your Image

Now that you have successfully built and started your first image, you can start tweaking it to match your needs.