3 Quick Start #
Abstract
This document describes how to start working with KIWI NG, an OS appliance builder. This description applies for version 10.2.2.
3.1 Before you start #
Install KIWI NG first, either via your distributions’ package manager (see Chapter 2, Installation) or via:
$ sudo pip install kiwi
Clone the KIWI NG repository containing example appliances (see Section 2.4, “Example Appliance Descriptions”):
$ git clone https://github.com/OSInside/kiwi
In case the following procedure causes any trouble please take a look at the Chapter 5, Troubleshooting chapter and/or reach out at: Section 3, “Contact”
3.2 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.
3.3 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.
3.4 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
3.5 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.