System Imaging with KIWI Jan-Christoph Bornschlegel - - PowerPoint PPT Presentation

system imaging with kiwi
SMART_READER_LITE
LIVE PREVIEW

System Imaging with KIWI Jan-Christoph Bornschlegel - - PowerPoint PPT Presentation

Theory and History A Real Life Example What else? Questions and Answers Closing System Imaging with KIWI Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team 12th February 2008 Jan-Christoph


slide-1
SLIDE 1

Theory and History A Real Life Example What else? Questions and Answers Closing

System Imaging with KIWI

Jan-Christoph Bornschlegel <jcborn@suse.de>

SUSE Linux Products GmbH - Build Service Team

12th February 2008

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-2
SLIDE 2

Theory and History A Real Life Example What else? Questions and Answers Closing

System Imaging with kiwi – Overview

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-3
SLIDE 3

Theory and History A Real Life Example What else? Questions and Answers Closing Introduction

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-4
SLIDE 4

Theory and History A Real Life Example What else? Questions and Answers Closing Introduction

What kiwi is and what it’s not

KIWI is: A command line based toolkit Usable as part of a process chain Usable as base tool for a high level application KIWI is not: A product

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-5
SLIDE 5

Theory and History A Real Life Example What else? Questions and Answers Closing Introduction

kiwi history

  • riginated by Marcus Sch¨

afer

  • riginal purpose was creating “system on a stick”

James Willcox (snorp) joins active development for Thin Client (SLETC) Jigish Gohil (CyberOrg) joins active development: LTSP project I join active development for Autobuild extension I’ll get back to the last point later

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-6
SLIDE 6

Theory and History A Real Life Example What else? Questions and Answers Closing Introduction

Current project status

Used for the following products: SLEPOS – SuSE Linux Point of Sale SLETC – SuSE Linux Thin Client Hardware vendors for preload images Community projects: Developers who deliver Live DVDs (KDE, openSUSE, . . . ) users who want to make images containing their application . . . ? (You tell me)

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-7
SLIDE 7

Theory and History A Real Life Example What else? Questions and Answers Closing How does kiwi work?

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-8
SLIDE 8

Theory and History A Real Life Example What else? Questions and Answers Closing How does kiwi work?

Help Wanted!

Documentation is available thoughout the web in various places http://www.suse.de/~jcborn/kiwi-links.html

  • fficial documentation delivered with kiwi package

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-9
SLIDE 9

Theory and History A Real Life Example What else? Questions and Answers Closing How does kiwi work?

Setting up the buildhost

Install kiwi, kiwi-tools and kiwi-desc-* packages create an image description file config.xml, or get and modify an existing image description

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-10
SLIDE 10

Theory and History A Real Life Example What else? Questions and Answers Closing How does kiwi work?

Buildsystem overview

image Build host

config files

Repo 1 Repo 2 Repo n

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-11
SLIDE 11

Theory and History A Real Life Example What else? Questions and Answers Closing How does kiwi work?

Buildsystem overview II

Package repositories (local, network) Configuration file(s) Buildhost with sufficient resources (esp. hdd)

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-12
SLIDE 12

Theory and History A Real Life Example What else? Questions and Answers Closing The Configuration Directory

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-13
SLIDE 13

Theory and History A Real Life Example What else? Questions and Answers Closing The Configuration Directory

Contents of the Configuration Directory

config.xml contains every necessary image information(packages, repositories, settings, . . . config.sh customise the image after the packages are installed image.sh ditto root/ contains overlay files which are included in the image or needed in scripts

  • ther special YaST files and others

The main thing to do is tweaking the config.xml.

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-14
SLIDE 14

Theory and History A Real Life Example What else? Questions and Answers Closing Situation

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-15
SLIDE 15

Theory and History A Real Life Example What else? Questions and Answers Closing Situation

Requirements and Regressions

You developed a distributed application as Diploma Work (for example) You have to give a “public” demonstration You have virtually no control over the hardware for the demo

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-16
SLIDE 16

Theory and History A Real Life Example What else? Questions and Answers Closing Solution

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-17
SLIDE 17

Theory and History A Real Life Example What else? Questions and Answers Closing Solution

One Possible Solution

Your program is available as RPM package: add a plain RPM folder to your repositories add the package name to the <packages> section Build your image

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-18
SLIDE 18

Theory and History A Real Life Example What else? Questions and Answers Closing Solution

One Possible Solution II

Your program is not available as RPM package: Get a BuildService account and package it ;) put all needed files into your image manually Build your image

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-19
SLIDE 19

Theory and History A Real Life Example What else? Questions and Answers Closing Solution

Repository Configuration Example

mounted DVD (base repo)

your home project Build host

your own image

BS Repo

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-20
SLIDE 20

Theory and History A Real Life Example What else? Questions and Answers Closing Autobuild System

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-21
SLIDE 21

Theory and History A Real Life Example What else? Questions and Answers Closing Autobuild System

Purpose

Autobuild is current internal package and media factory

  • penSUSE BuildService will be the next generation

package factory kiwi can not yet create installation sources not yet. . .

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-22
SLIDE 22

Theory and History A Real Life Example What else? Questions and Answers Closing Autobuild System

How it works

Autobuild is a distributed system Build clients build single RPMs based on a central scheduler and source base every employee’s machine can (and should) be a build host scheduler collects built rpm files to internal “full trees” for each codebase and architecture metadata is created

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-23
SLIDE 23

Theory and History A Real Life Example What else? Questions and Answers Closing Product Creation now and then

where are we

1

Theory and History Introduction How does kiwi work? The Configuration Directory

2

A Real Life Example Situation Solution

3

What else? Autobuild System Product Creation now and then

4

Questions and Answers

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-24
SLIDE 24

Theory and History A Real Life Example What else? Questions and Answers Closing Product Creation now and then

Current Product Creation

full trees for target architectures are sync’d to dedicated machines rpm files are selected and collected to one repository metadata for this particular repository is created finally all sorts of media are made:

ftp repositories CD, DVD, torrent, . . .

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-25
SLIDE 25

Theory and History A Real Life Example What else? Questions and Answers Closing Product Creation now and then

Product Creation with kiwi

Collecting the target repository must be integrated into kiwi. Expansion of the config.xml syntax add module for repository creation allow priority value for repositories allow exceptions implement script hooks Autobuild knowledge is necessary to create package lists and scripts

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-26
SLIDE 26

Theory and History A Real Life Example What else? Questions and Answers Closing

Questions?

If your time (or hunger) allows. . .

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI

slide-27
SLIDE 27

Theory and History A Real Life Example What else? Questions and Answers Closing

Another talk is over

Thank you for your attention! See you on irc.freenode.net #opensuse-kiwi for kiwi issues: <kiwi-users@lists.berlios.de> for packaging issues: <opensuse-packaging@opensuse.org> Bugzilla for kiwi: product “opensuse.org”, component “system imaging”

Jan-Christoph Bornschlegel <jcborn@suse.de> SUSE Linux Products GmbH - Build Service Team System Imaging with KIWI