Home Wiki > Portal:KIWI
Sign up | Login

Portal:KIWI

tagline: From openSUSE

Welcome to the KIWI Portal edit

The openSUSE KIWI Image System provides a complete operating system image solution for Linux supported hardware platforms as well as for virtualisation systems like Xen, Qemu or VMware

With KIWI you can

  • Create a tuned server appliance, containing your application and just enough operating system components
  • Spin a live CD or DVD with just the packages and software you need
  • Create a ready-to-run VMware virtual appliance
  • Create a live USB key and carry your Linux system with you wherever you go
  • Build a hard disk image for preloading onto hardware
  • Build a new openSUSE project like openSUSE Medical
  • and much more ...

Topics edit

Kiwiheader

The easy recipes provided below allow you to copy & paste the commands to a terminal in an effort to help you to get started quickly with KIWI

Preferences-plugin.png

Start Cooking General Preparation for all recipes

Before we start cooking, we need to make sure that we have all required ingredients ready and set up correctly.

Learnings: Here you will get a brief introduction to KIWI, the required packages, commands and other useful getting started information.

Icon-Mango.png

Get Juiced - our first recipe Ups - what? Which Juice?'

Juice is the pronunciation for JeOS, which stands for “Just Enough Operating System.” Wikipedia

The term JeOS refers to a customized operating system that precisely fits the needs of a particular application. This means it includes only those pieces of an operating system required to support a particular application, resulting in a small system.

Learnings: Based on one of the KIWI supplied templates build a JeOS (Just enough OS) system to get familiar with the KIWI process.

Tux Suse.png

Tux Live - our second recipe A functional openSUSE live system.

A live system image is a bootable operating system on portable media (CD, DVD, or USB for example). The live system treats the CD/DVD/USB as the hard disk of the system. This provides us the opportunity to carry our system with us and use it on any computer we can get our fingers on.

Learnings: Build an image you can boot and run from a CD. Take a first step to modify a base KIWI configuration to change the content of the image.

Branding-logo.png

Going virtual - our third recipe A Virtual Machine Image

The previous examples focused on the creation of iso images you could test and run with qemu or as a LiveCD/DVD. Kiwi supports also the creation of virtual images in various formats.

Learnings: Step into the world of virtualization with this VMware based example. Learn more about the XML elements and how they work.

Icon-pendrive.png

Pimp your USB stick - our fourth recipe A System on a USB Stick.

This example shows how you can use Kiwi to create a image that can be installed on a USB stick. The resulting live USB stick allows you to boot the OS and use the system as if the OS were installed on the system hard drive.

Learnings: Learn howto build an image that can run a Linux system from a USB stick. Include some "firstboot magic" to help configure the system on initial boot.

GNOME-foot.png

A Minimal GNOME Appliance - our fifth recipe A GNOME System.

While our previous recipes focused on the various types of images we can create with Kiwi, this recipe focuses more on the content of the appliance and some configuration questions.

Learnings: Learn how to run GNOME as your graphical UI. Customize the base example to enable auto login, automatically start Firefox and customize GNOME right out of the gate.

Kiosk-japan.jpg

Creating a Web-Kiosk image - our sixth recipe A Kiosk System.

In this example we combine various topics discussed previously to create an image that is a bit more functional.

Learnings: Using the Minimum GNOME example as a base to make appropriate modifications in order to create an image that may be used as a web-kiosk.

Clouds.jpg

Create a private Cloud with OpenNebula Minimize cloud expansion time

Improving the set up time for your private cloud can be accomplished with image creation. Using a self configuring cloud node image can reduce the deployment of a new cloud node to a few minutes. This example describes how to create the infrastructure images and guest images for a private cloud based on the OpenNebula cloud infrastructure software.

Learnings: Using a firstboot work flow and network communication to implement self configuring images.

Clouds.jpg

Create your own Cloud with help of 3 images

Setting up your own cloud can be pretty simple. This example describes how to create the infrastructure images and guest images for your own cloud. The infrastructure is based on Eucalyptus.

Learnings: Using 3rd party software within our images

SamuraiGeeko.jpeg

The splash screens customize it

Building images with Kiwi is all about setting up an environment that meets your needs, i.e. customization. Thus, customization of the appearance during boot maybe just the ticket to make your image your own.

Learnings: The recipe describes the process of setting up customized splash screens for the boot process.

RealHardDrive.jpg

Data separation or handling partitioning

For OEM images partitioning is an often requested feature, especially since AutoYaST can do such a wonderful job with partitioning during install, well actually prior to installation.

This example provides some reasoning behind why Kiwi does not provide partitioning elements in config.xml (spare LVM support) and shows how to provide the generally desired data separation for application data and the OS part of an image as a post dump step.
Icon-yast.png

KIWI and AutoYaST a winning combination

YaST is the installation and configuration tool for the SUSE distributions. It is popular for its easy use and attractive graphical interface and the capability to customize your system quickly during and after the installation. YaST can be used to configure your entire system and with help of AutoYaST you can do this without any interaction. Combine the power of KIWI and AutoYaST to easily customize your system.

Learnings: How to use YaST and AutoYaST as an configuration tool in an appliance

Icon-yast.png

Web based Appliance Administration with WebYaST

WebYaST is the tool set that allows you to remotely administer an appliance (or regularly installed system) through a browser. WebYaST does not yet encompass all the functionality found in YaST, but you will probably find that the functionality provided is more than sufficient to administer your appliances. Find out how to build an image with Kiwi that includes WebYaST and the service running by default.

Learnings: How to include WebYaST in an appliance built by Kiwi.

Icon-wiki.png

the KIWI RELAX NG Schema Adding a New Element into the KIWI RELAX NG Schema

Unlike our previous examples which focused on the use of Kiwi to create an image, this example is more developer focused as it shows how to make modifications to the schema governing the config.xml file.

Learnings: Find out how you can develop and customize the KIWI RELAX NG Schema which is used for validating the XML configuration file


Random question and answers edit

TIP: SUSE Studio

You may also want to visit the SUSE Studio Wiki. KIWI is the back end to SUSE Studio and therefore many of the SUSE Studio Howtos apply to KIWI

Things to do edit

If you would like requesting enhancements, reporting bugs or submitting patches, then please visit http://bugzilla.novell.com and enter the following data

  • Classification: All
  • Product: openSUSE.org
  • Component: System Imaging
  • Summary : "kiwi: <summarize your report here>"

and your description.

Please also look at http://en.opensuse.org/openSUSE:Submitting_bug_reports for details about submitting bugs.

Here a convenient URL to file a new KIWI bug (with the settings above)

Related links edit

Related Points to be noted

Communicate

Projects using KIWI

  • SUSE Studio uses KIWI as backend. It provides a web interface for creating custom Linux, fast and easy, in your browser.
  • The Open Build Service
  • LTSP5 on openSUSE LTSP
  • SUSE Linux Point of Service uses KIWI together with the YaST-based Image Creator frontend to build OS images for Point of Service terminals.
  • YaST module providing GUI for KIWI is called Image Creator.

Products built with KIWI

Other places where KIWI has been used

In the news edit