欢迎来到 KIWI 首页 编辑
openSUSE KIWI 镜像构建系统是一个完整的为 linux 支持的硬件平台，诸如 Xen、Qemu或者 VMware 的开放式镜像系统构建工具。
使用 KIWI 你可以
- 制作一个包含你所需应用程序的 liveCD 或 liveDVD；
- 创建一个 VMware 应用；
- 创建一个便携式的 live USB 镜像；
- 创建一个像 openSUSE Medical 的全新 openSUSE 项目；
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
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.
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 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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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
Q: Can i build a SLE10 image with openSUSE 11.1?
Sure, but you need the right tools also installed on you build system and the repositories for SLE10 (DVD/iso/...)
Zypper from SLE10 is too old and does not provide the features we need. So you must use smart as packagemanager in your config.xml
In order to use it, you must install smart in you build system.
So please add the repository to your system http://download.opensuse.org/repositories/smart and install smart into your system.
If you are use kiwi version < 3.60 and use ext3 as filesystem, you must use a different inode size, because openSUSE 11.1 uses a different one as SLE10.
Tip: Use the SLES10 JeOS template as basis for your build
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)
KIWI 全部内容 编辑
Related Points to be noted
- Developers firstname.lastname@example.org
- Users email@example.com
- IRC: #opensuse-kiwi on irc.freenode.net
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
- IBM Smart Analytics System 5710 uses KIWI to produce an automated deployment toolkit to provide faster time-to-value for partners and clients.
Other places where KIWI has been used
- Beineri: KDE Four Live
- duncanmv: Helping create a test environment for Linux
- dl9pf: openSUSE buildservice VMware image
- Kolab on openSUSE SDB:Kolab
- LimeJeos on openSUSE LimeJeos. A linux minimal edition just enough operating system for building software appliances on top of openSUSE.
- cgoncalves: openSUSE 11.0 KDE3 LiveCDs
- Dell Blog: Dell TechCenter Blogs