Quick Start

Prerequisites

Kiwi NG should be also installed on your system:

Installing Kiwi NG from pip
$ pip install kiwi

Also you need an example content description, so clone the official Kiwi NG image examples:

Getting an example content description:
$ git clone https://github.com/OSInside/kiwi

Setup

Initial setup is necessary for Berrymill. Unlike Kiwi, Berrymill permits reuse of the same Image, which is constructible both on OBS (Open Build Service) and locally. This flexibility involves substituting or replacing defined repositories. When utilizing an image with OBS, repositories will be specified with the obs:// scheme. OBS prohibits external internal connections, hence the repositories must be pre-existing within the OBS system. However, for users not employing OBS for image builds yet desiring to construct the same image locally, manual configuration is required to override these repositories.

More information about Berrymill setup is found in the full configuration chapter.

Build Image

To create your initial image, which serves as a basic system disk image compatible with full virtualization systems such as QEMU, execute the following command:

$ berrymill --image relative/path/to/descr.kiwi build --target-dir /tmp/foo

Depending on the setup and initial configuration, if the command above finished successfully, the resulting image will be placed into the folder /tmp/foo with the suffix .raw.

But you might need to specify your own repository configuration with --config option (or setup the default one at /etc/berrymill/berrymill.conf).

Please refer to the building section for comprehensive details on creating images for various architectures and under different conditions.

Running an Image

Operating the resulting image closely mirrors the routine in Kiwi NG as it’s generated by it. The process involves booting the operating system. To accomplish this, attach the disk image to a virtual system. In this example, we’ll demonstrate using QEMU to boot it:

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

Image Configuration

Now that the image has been built, it’s time to configure it to align with the specific requirements of the final use case.