Projects/Plasma/NetbookReference: Difference between revisions

From KDE TechBase
m (Text replace - "</code>" to "</syntaxhighlight>")
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Introduction==
==Introduction==
Plasma is creating a reference image for the Netbook shell.  The Plasma Netbook team hopes to learn what good default configurations are through user feedback and usability testing.  By creating a Live CD/usb disk image that can be easily and directly modified, changes can get wider testing more quickly and with a shorter feedback cycle, and the Reference Edition contains only upstream packages with no distribution specific configuration, branding or patching.


<br>The Plasma Netbook Reference Edition uses the Build Service for an easy way to generate Live images based up KDE trunk, and integrate changes from testers and developers.  For now it is x86 only, based on openSUSE Factory and openSUSE 11.2.


== Buildservice ==
The steps involved in contributing the the Plasma Netbook Reference Edition are:


https://build.opensuse.org/project/add_target_simple?project=KDE%3ANetbook
* Try the Reference Edition
* Get set up to use the Build Service
* Make your own branch
* Build it
* Tweak the settings
* Test it
* Contribute your changes back to the Reference Edition


For now x86 base factory, 11.2
or simply


<br> Command line tool "osc" (try to get a not too old version) and build tool (for debian: http://download.opensuse.org/repositories/openSUSE:/Tools/Debian_5.0/all/build_2010.02.02-1_all.deb). For Suse install packages osc and build.
* Try the Reference Edition
* [http://bugs.kde.org Report bugs]


http://download.opensuse.org/repositories/openSUSE:/Tools/
==Contributing==
===Try the Reference Edition===
You can get the Reference Edition at http://download.opensuse.org/repositories/KDE:/Netbook .
The build currently generates a raw disk image (including partitions) that you can extract to a USB disk (for example) with


<br> To get the project:
bunzip2 -c Plasma-Netbook-Reference.i686-0.1.0-*.raw.bz2 > /dev/sdX
<pre>osc co KDE:Netbook</pre>


Build locally:
where /dev/sdX is the path of your USB disk (be careful!).
<code>osc build images i586 kde-four-live.kiwi</code>
On debian the signature of the packages can not be verified, so I turned that off (needs to be fixed):
<code>osc build images i586 kde-four-live.kiwi --no-verify --linksources</code>
*<code>--linksources</code> don't copy packages over but link them


=== Packages ===
The current disk image is an installed disk image, not a Live CD, so no installation is necessary.
 
===Get set with the Build Service===
To start making your own changes, you need to a login to the [https://build.opensuse.org Build Service website].  An OpenID login is being worked on.
 
The configuration files for Plasma Netbook Reference Edition are stored in the KDE:Netbook OBS project here:
 
https://build.opensuse.org/project/show?project=KDE:Netbook
 
Here you can perform most tasks to access builds and update configuration.
 
To work efficiently with the OBS, you can use the [http://en.opensuse.org/Osc#osc.2C_the_Python_command_line_client osc command line client].  To build your own images, you need the [http://en.opensuse.org/KIWI kiwi] command line tool, and the 'build' package.
 
A full list of repositories is at the osc link below, but some common ones are
* http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.2
* http://download.opensuse.org/repositories/openSUSE:/Tools/Debian_5.0/
* http://download.opensuse.org/repositories/openSUSE:/Tools/xUbuntu_9.10/
* http://download.opensuse.org/repositories/openSUSE:/Tools/Fedora_12/
* http://download.opensuse.org/repositories/openSUSE:/Tools/Mandriva_2010/
 
===Branch it in the OBS===
The Build Service contains a branch/merge mechanism that allows you to submit your package modifications back to the main project in the same manner as a git tracking branch.  This allows changes to be reviewed by the Plasma team.
 
Once you have the tools installed, create a branch of the basic packages with:
 
osc branch KDE:Netbook plasma-image
osc branch KDE:Netbook plasma-netbook-config
then check out your branch with the command output by 'osc branch' above.
 
===Build it===
Since image builds consume a lot of resources, only the main KDE:Netbook project builds on the server.  You can build your branches locally like this:
 
<syntaxhighlight lang="text">osc build images i586 kde-four-live.kiwi</syntaxhighlight>
On debian the signature of the packages cannot be verified, so we turned that off (needs to be fixed):
<syntaxhighlight lang="text">osc build images i586 kde-four-live.kiwi --no-verify --linksources</syntaxhighlight>
*<syntaxhighlight lang="text">--linksources</syntaxhighlight>save disk space by not copying packages to the build chroot but link them
 
The first build will take a long time to fetch the base packages from the server, but these are cached.
 
===Tweak the settings===
You can tweak the resulting image by either modifying the package list in the file kde-four-live.kiwi from plasma-image, modifying the packages themselves, or by changing the configuration files in the plasma-netbook-desktop package.  You already have a checkout of these packages in your branch.
 
===Test it===
After changing something, rebuild the image and test it on a netbook or in a virtual machine.
 
===Submit changes back===
When you have changes in your branch that you want to merge back to KDE:Netbook, <syntaxhighlight lang="text">osc submitrequest</syntaxhighlight> will create a request to merge the changes.  When the request is accepted, your branch will be rebased on the updated original
 
 
==Technical Details==
 
===Packages===
A short description of what we have in the project.
A short description of what we have in the project.


Most packages come from openSuse.
Most packages used to build the image come from openSUSE. By declaring additional or replacement packages in KDE:Netbook, or your branch, we customise the image.
* plasma-image this is the resulting usb stick image (or whatever)
* plasma-netbook-desktop this package will contain our modifications (for example starting the netbook plasma shell by default)
 
== KIWI - creating a harddisk image ==


* plasma-image this 'package' is actually resulting USB stick image (or whatever)
* plasma-netbook-desktop this package contains Plasma's modifications to the system configuration, for example starting the netbook plasma shell by default.


As base we use KDE Four Live.
===KIWI - creating a harddisk image===
As a base we use [http://home.kde.org/~kdelive KDE Four Live].  The Build Service package for this is [https://build.opensuse.org/package/show?package=kde-four-live&project=KDE:Medias here].


The description what will be built in the end is in the .kiwi file.
The description what will be built in the end is in the .kiwi file.
Line 41: Line 99:
http://en.opensuse.org/Build_Service/KIWI/Cookbook</pre>
http://en.opensuse.org/Build_Service/KIWI/Cookbook</pre>


On the project page: we can configure whether to publish at the 'Flags for Experts' link


On the website: we can configure whether to publish (expert flags).
The status of the build can also be seen on the project page:
https://build.opensuse.org/project/monitor?project=KDE:Netbook


The status of the build can be seen on the project page:
there are some build repositories registered for the project:
https://build.opensuse.org/project/add_target_simple?project=KDE%3ANetbook
there are some build repositories:
*images: the kiwi image, that will be the iso
*images: the kiwi image, that will be the iso
*openSUSE_11.2: the open suse stable repo
*openSUSE_11.2: the openSUSE stable repo
*openSUSE_Factory: the newer kde builds, when we want bleeding edge
*openSUSE_Factory: openSUSE development branch, when we want bleeding edge kernel, XOrg etc.


The openSUSE repos are needed when we create custom packages.
The openSUSE repos are needed when we create custom packages.


You can download the binary image using osc (or the web interface):
You can download the finished binary image whether or not publishing is using osc (or the web interface):
<code>osc getbinaries images i586</code>
<syntaxhighlight lang="text">osc getbinaries images i586</syntaxhighlight>
If you have a usb stick to test the image with, double check the device and directly bunzip the image onto the rood device of the usb stick:
If you have a USB stick to test the image with, double check the device node, /dev/sdX is just an example, and directly bunzip the image onto the root device of the usb stick:
<code>bunzip2 -c Plasma-Netbook-Reference.i686-0.1.0-Build8.1.raw.bz2 > /dev/sdX</code>
<syntaxhighlight lang="text">bunzip2 -c Plasma-Netbook-Reference.i686-0.1.0-Build8.1.raw.bz2 > /dev/sdX</syntaxhighlight>.

Latest revision as of 20:57, 29 June 2011

Introduction

Plasma is creating a reference image for the Netbook shell. The Plasma Netbook team hopes to learn what good default configurations are through user feedback and usability testing. By creating a Live CD/usb disk image that can be easily and directly modified, changes can get wider testing more quickly and with a shorter feedback cycle, and the Reference Edition contains only upstream packages with no distribution specific configuration, branding or patching.


The Plasma Netbook Reference Edition uses the Build Service for an easy way to generate Live images based up KDE trunk, and integrate changes from testers and developers. For now it is x86 only, based on openSUSE Factory and openSUSE 11.2.

The steps involved in contributing the the Plasma Netbook Reference Edition are:

  • Try the Reference Edition
  • Get set up to use the Build Service
  • Make your own branch
  • Build it
  • Tweak the settings
  • Test it
  • Contribute your changes back to the Reference Edition

or simply

Contributing

Try the Reference Edition

You can get the Reference Edition at http://download.opensuse.org/repositories/KDE:/Netbook . The build currently generates a raw disk image (including partitions) that you can extract to a USB disk (for example) with

bunzip2 -c Plasma-Netbook-Reference.i686-0.1.0-*.raw.bz2 > /dev/sdX 

where /dev/sdX is the path of your USB disk (be careful!).

The current disk image is an installed disk image, not a Live CD, so no installation is necessary.

Get set with the Build Service

To start making your own changes, you need to a login to the Build Service website. An OpenID login is being worked on.

The configuration files for Plasma Netbook Reference Edition are stored in the KDE:Netbook OBS project here:

https://build.opensuse.org/project/show?project=KDE:Netbook

Here you can perform most tasks to access builds and update configuration.

To work efficiently with the OBS, you can use the osc command line client. To build your own images, you need the kiwi command line tool, and the 'build' package.

A full list of repositories is at the osc link below, but some common ones are

Branch it in the OBS

The Build Service contains a branch/merge mechanism that allows you to submit your package modifications back to the main project in the same manner as a git tracking branch. This allows changes to be reviewed by the Plasma team.

Once you have the tools installed, create a branch of the basic packages with:

osc branch KDE:Netbook plasma-image
osc branch KDE:Netbook plasma-netbook-config

then check out your branch with the command output by 'osc branch' above.

Build it

Since image builds consume a lot of resources, only the main KDE:Netbook project builds on the server. You can build your branches locally like this:

osc build images i586 kde-four-live.kiwi

On debian the signature of the packages cannot be verified, so we turned that off (needs to be fixed):

osc build images i586 kde-four-live.kiwi --no-verify --linksources
  • --linksources
    
    save disk space by not copying packages to the build chroot but link them

The first build will take a long time to fetch the base packages from the server, but these are cached.

Tweak the settings

You can tweak the resulting image by either modifying the package list in the file kde-four-live.kiwi from plasma-image, modifying the packages themselves, or by changing the configuration files in the plasma-netbook-desktop package. You already have a checkout of these packages in your branch.

Test it

After changing something, rebuild the image and test it on a netbook or in a virtual machine.

Submit changes back

When you have changes in your branch that you want to merge back to KDE:Netbook,

osc submitrequest

will create a request to merge the changes. When the request is accepted, your branch will be rebased on the updated original


Technical Details

Packages

A short description of what we have in the project.

Most packages used to build the image come from openSUSE. By declaring additional or replacement packages in KDE:Netbook, or your branch, we customise the image.

  • plasma-image this 'package' is actually resulting USB stick image (or whatever)
  • plasma-netbook-desktop this package contains Plasma's modifications to the system configuration, for example starting the netbook plasma shell by default.

KIWI - creating a harddisk image

As a base we use KDE Four Live. The Build Service package for this is here.

The description what will be built in the end is in the .kiwi file.

Find it in your checkout in KDE:Netbook/plasma-image/kde-four-live.kiwi

For more documentation about KIWI, see here:

http://en.opensuse.org/KIWI
http://en.opensuse.org/Build_Service/KIWI/Cookbook

On the project page: we can configure whether to publish at the 'Flags for Experts' link

The status of the build can also be seen on the project page: https://build.opensuse.org/project/monitor?project=KDE:Netbook

there are some build repositories registered for the project:

  • images: the kiwi image, that will be the iso
  • openSUSE_11.2: the openSUSE stable repo
  • openSUSE_Factory: openSUSE development branch, when we want bleeding edge kernel, XOrg etc.

The openSUSE repos are needed when we create custom packages.

You can download the finished binary image whether or not publishing is using osc (or the web interface):

osc getbinaries images i586

If you have a USB stick to test the image with, double check the device node, /dev/sdX is just an example, and directly bunzip the image onto the root device of the usb stick:

bunzip2 -c Plasma-Netbook-Reference.i686-0.1.0-Build8.1.raw.bz2 > /dev/sdX

.