Custom SUSE VM Images

SUSE provides SUSE Linux Enterprise (SLE) and openSUSE Leap virtual machine (VM) images suitable for use in Harvester. These images are built on the openSUSE Build Service (OBS) using the Kiwi image building tool, and can be used immediately after downloading.

For most cases, you can use the Minimal VM Cloud qcow2 images because these include the cloud-init tool necessary for automatic VM configuration. Other image variants require you to log onto the VM console and then perform initial configuration.

The Minimal VM Cloud images were named Minimal VM OpenStack Cloud in releases earlier than SLES 15 SP5 and openSUSE 15.5.

Using the openSUSE Build Service (OBS)

You can create custom images based on what SUSE provides using OBS image templates, which are pre-configured Kiwi image configurations. For example, if you want use other packages with SLE 15 SP5, you can create an image using the SLE 15 SP5 Minimal template. OBS provides an interface for adding packages and automatically builds the image, which you can download and then upload to Harvester. For more information, see the OBS User Guide.

1. Create a custom image based on an existing template.

  1. Go to https://build.opensuse.org/image_templates. You must sign in to your openSUSE account to access the resources.

  2. Select the template that you want to use.

  3. Specify a name for the image, and then select Create appliance.

    custom vm 01 select template

    OBS automatically builds the image. By default, the interface shows the Overview tab, which contains information such as the number of included packages and the build status.

    custom vm 02 image overview

2. Select image profiles and add packages.

  1. Go to the Software tab.

  2. Select the image profiles that you want OBS to build.

    For most cases, you can use the Minimal VM Cloud qcow2 images because these include the cloud-init tool necessary for automatic VM configuration. Other image variants require you to log onto the VM console and then perform initial configuration.

    custom vm 03 image software
  3. (Optional) Add and remove packages.

    custom vm 04 image software packages
    custom vm 05 image software add package

3. (Optional) Switch to View Package mode.

View Package mode provides more granular control over configuration. To switch, click the View Package icon in the navigation bar.

custom vm 06 view package

The Source Files section of the Overview tab shows all the files that comprise your Kiwi template. You can edit any of the files by selecting the corresponding file name.

custom vm 07 view package details

4. (Optional) Edit the configuration file Minimal.kiwi.

Select the file name to open the text editor. The <packages type="image"> section lists the packages to be installed. You can specify additional packages for each image profile.

By default, the Cloud image profile (<package type="image" profiles="Cloud">) installs the kernel-default-base package. In the following example, that package is replaced with kernel-default, which includes modules necessary for iSCSI support.

custom vm 08 edit kiwi config

5. Wait for OBS to finish building the image.

Once the process is completed, the Build Results section on the Overview tab shows the status succeeded.

custom vm 09 build succeeded

The Build Results section also contains a download link for the new image.

custom vm 10 binaries link
custom vm 11 binaries download

6. Enable publishing to share the image.

To allow the public to download your custom image, go to the Repositories tab of your OBS project and enable the Publish flag.

custom vm 12 project publish repositories

Your image is published to https://download.opensuse.org/ (under repositories/home:/YOUR_USER_NAME:/branches:/SUSE:/Templates:/Images:/).

custom vm 13 download.openuse.org

Using the Kiwi Command-line Tool

As an alternative to the openSUSE Build Service, you can create images locally using the Kiwi command-line tool. For more information about the tool, see Building Linux System Appliances with KIWI Next Generation (KIWI NG).

To create custom images, you must first download the file Minimal.kiwi, and the scripts config.sh and editbootinstall_rpi.sh from the corresponding project on OBS.

OS openSUSE Build Service Project

SLE 15 SP5

https://build.opensuse.org/package/show/SUSE:SLE-15-SP5:GA/kiwi-templates-Minimal

openSUSE Leap 15.5

https://build.opensuse.org/package/show/openSUSE:Leap:15.5/kiwi-templates-Minimal

SLE 15 SP4

https://build.opensuse.org/package/show/SUSE:SLE-15-SP4:GA/kiwi-templates-Minimal

openSUSE Leap 15.4

https://build.opensuse.org/package/show/openSUSE:Leap:15.4/kiwi-templates-Minimal