Remastering openSUSE : How to Build your Own openSUSE Based Distro

openSUSE is one of the best Linux distribution. openSUSE gaining it’s popularity as beautiful distro with good hardware detection, great configuration tools, and acceptable default setup. openSUSE 11.0 released with 3 CD/DVD main schema : DVD install with such desktop environment (KDE3, KDE 4, Gnome, XFCE, Icewm etc) and server application, LiveCD with applicable desktop application and separated on desktop environment (KDE & Gnome), Net Install CD for networking and online installation and the last one is delta CD or DVD, for incremental update from previous version.

Although all of these option fulfill with our requirement, it would be nice if we can build openSUSE based distro with our specification. Just an example, it would be nice if I can build openSUSE based distro with minimal desktop application, contains wifi driver by default, contains 3rd party application that suitable with our requirement, etc.

Novell catch this idea by  providing a great tools to easily make all of above requirement with their  SUSE Studio. The screencast promises a nice tools. Unfortunately, the project currently on alpha stage and we must wait before reached final version

However, we could build all these process by ourself with great tools provided by openSUSE, KIWI Imaging System.

The openSUSE KIWI Image System provides a complete operating system image solution for Linux supported hardware platforms as well as for virtualization systems like Xen. The KIWI architecture was designed as a two level system. The first stage, based on a valid software package source, creates a so called physical extend according to the provided image description. The second stage creates from a required physical extend an operating system image. The result of the second stage is called a logical extend or short an image

You can find more information about KIWI from the documentation.

I will post the tutorial about creating openSUSE based distro in a few days. The tutorial will be divided into some blog article. After reading overall post, I hope everyone could make their openSUSE LiveCD or LiveUSB with their specified application and configuration easily.

Now, the first one, preparing KIWI in your system.

  1. Add the KIWI repositories (included on openSUSE tools repositories) with YAST | Software | Software Repositories or from konsole. Replace the URL with your local mirror :
  2. zypper ar http://ftp5.gwdg.de/pub/opensuse/repositories/openSUSE:/Tools/openSUSE_11.0 kiwi
  3. Refresh the repo
  4. zypper ref
  5. Install KIWI tools
  6. zypper in kiwi-desc-isoboot kiwi-desc-usbboot kiwi-tools kiwi-pxeboot kiwi-desc-oemboot kiwi-desc-netboot createrepo

After installing kiwi tools as described we could find kiwi configuration on /usr/share/kiwi. Please navigate into /usr/share/kiwi/image, you must find some sub folder like usbboot and isoboot.  /usr/share/kiwi/image folder contains all of configuration schema for developing openSUSE based distro on any media referring by their names, e.g : isoboot is configuration schema for building bootable iso image, usbboot is configuration schema for building bootable LiveUSB, etc. You may create another schema as described on kiwi configuration hand book or take another easy solution, by copying and modifying existing kiwi schema.

Kiwi configuration schema is plain xml file, named as config.xml. If we browse the isoboot folder (/usr/share/kiwi/image/isoboot/), we can find some configuration schema for some openSUSE version, e.g : suse10.1, suse10.2 and so on. Remember to always used correct version of kiwi configuration schema as stated on your running openSUSE. I used openSUSE version 11.0 so I will take the configuration schema on /usr/share/kiwi/image/isoboot/suse-11.0/config.xml.

It’s not too difficult to understand the schema, because the content itself is quiet straight-forward. Let’s see an example, open the file /usr/share/kiwi/image/isoboot/suse-11.0/config.xml with your text editor.

The schema divided into some portion of code. The header described about author, version, contact, preferences, etc. We will not change overall configuration, because most of them are specified by default and will not produce any error if we leave them unchanged. Off course we could change the configuration and adjust the code with our purpose.

Below is the portion of configuration schema, contains the repositories address. The address will be used as based source for installing application while generating iso image.

<repository type="yast2" status="replaceable">
<source path="/image/CDs/full-11.0-i386"/>
</repository>

We must adjust the address with our correct repositories. Beside the local repos as displayed on the schema, we could used http, ftp, nfs, samba or any YAST repositories address (find it on YAST | Software | Software Repositories)

We will learn more about kiwi configuration schema on next tutorial : How to Build openSUSE Minimal System liveCD

Credit : Thanks to Marcus Schaffer, Francis Giannaros and Cyborg for great assistance on kiwi-user mailing list.

Random Post

4 Responses for “Remastering openSUSE : How to Build your Own openSUSE Based Distro”

  1. [...] Note : It’s the second article for “Remastering openSUSE : How to Build your own openSUSE Based Distro” series. [...]

  2. Blog Vavai says:

    [...] Berikut adalah link-nya (mohon maaf kalau ada salah kata, penulisan, grammar dan sejenisnya).[1] : Remastering openSUSE : Kiwi Imaging System[2] : Remastering openSUSE : How to Build openSUSE Minimal System [...]

  3. [...] Berikut adalah link-nya (mohon maaf kalau ada salah kata, penulisan, grammar dan sejenisnya).[1] : Remastering openSUSE : Kiwi Imaging System[2] : Remastering openSUSE : How to Build openSUSE Minimal System [...]

  4. This is a really good blog, im glad I came across it. Ill be back down the track to check out other posts that you have on your blog.

Leave a Reply

About Vavai

Masim Vavai Sugianto Masim Vavai Sugianto, Indonesian, male, 32 years old, born and live in Bekasi-West Java, a small town near Jakarta – main city of Indonesia – since 17 May 1976. Founder of Indonesian openSUSE and Zimbra Community, an adventure, travelling and book lover.



I live in a tropical country, Indonesia that only has two seasons, dry season and rainy season. I love the dry season with bright sunshine and rare rain…There is a joke about the seasons in Indonesia. Indonesia is known as a country with so many season, ie : durian season, mango season, married season and much more...



ContactI'm currently working as an IT support for a small company based on Jakarta. My career has led me to specialize in Sysadmin, networking and software implementation with current focus on Linux and open source area. I have experience on MRP, ERP, Gemba Kaizen, Just in Time, Six Sigma and TQC/TQM. Please use my contact page if you wish to contact me.
Log in - BlogNews Theme by Gabfire themes