Plasma/Plasma Netbook Reference Platform

From KDE Community Wiki
Revision as of 17:44, 27 March 2010 by Nur (talk | contribs) (→‎Our Goals: fixlink)

What It Is

The Plasma Netbook Reference Platform is a full system image that makes it easy to test and improve the Netbook workspace shell. It can be downloaded and installed on a USB memory stick for easy testing on netbooks, tablets and other devices with similar hardware form factors.

Our Goals

Our goals are:

  • to provide an easy, reliable way to test Plasma Netbook
  • to provide system integrators a reference to evaluate Plasma Netbook with as well as to compare their own Plasma Netbook offerings with
  • to support the growing Plasma Netbook user base in being able to easily get involved with testing, improving and demonstrating interesting, useful and fun modifications both to the upstream Plasma project as well as to other Plasma Netbook users.

We strive to accomplish all of these things in an open manner that embodies the precepts of the KDE Community Code of Conduct.

How To Get It

Note: The following procedure creates a persistent installed filesystem on a USB stick. This is not comparable to a classical live CD system where everything resides in memory and changes are lost on reboot. The disk image system performs faster than a live CD. The first time you boot the stick, if there is sufficient free space, /swap and /home partitions will be created. All changes will be saved on the stick and will still be there on your next reboot.

Download

Weekly build images are made available at the following address: 

http://download.opensuse.org/repositories/KDE:/Netbook/images

Installation

To extract the image to a stick, follow these simple instructions.

Short version:

bunzip2 Plasma-Netbook-Reference.i686-0.1.0-*.raw.bz2 dd if=Plasma-Netbook-Reference.i686-0.1.0-*.raw of=/dev/sdX

You can also use

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

  • The one line method will not work in kubuntu because of sudo permission handling.
  • Needs at least a 2 Gb usb stick, Device code example: sdb, not sdb1.


Long version:

  • Download the file with the raw.bz2 extension. It should have a size of around 500 Mb (i.e. Plasma-Netbook-Reference.i686-0.1.0-Build16.1.raw.bz2)
  • Extract the compressed file using your preferred method. For example by right-clicking on the file in the KDE filemanager (dolphin)) and selecting: "Extract Archive Here". Depending on your hardware this should only take a couple of seconds. The resulting folder has a size of about 1.7 Gb and contains the actual raw disk image with a .raw extension.
  • The following step has to be performed on a terminal window (You can easily get a terminal by hitting <Alt+F2> in a default plasma desktop or netbook installation, then type "konsole" and hit <Enter>).
  • Change into the same directory that contains the extracted .raw image i.e. cd /home/user/Desktop/Plasma-Netbook-Reference.i686-0.1.0-Build16.1.raw/
  • Plug in a USB stick with a minimal size of 2 GB (WARNING: All contents of this disk will be deleted by completing the following steps). There is no need to manually mount the disk.
  • Type

dmesg in the terminal and note the 3 letters between the brackets in the last lines (i.e. [sdb]. This is the actual code of the device that you just plugged in.

  • While still being in the directory where the raw image was extracted type the following command:

dd if=Plasma-Netbook-Reference.i686-0.1.0-Build16.1.raw of=/dev/sdb Hit <Enter>. (Replace "sdb" with your 3-letter device code and the .raw image name with whatever downloaded).

  • If you are on a K/X/Ubuntu system, precede this line with sudo and enter your user password. On other systems make sure you have root privileges
  • The dd command takes about 10-15 minutes to finish!
  • Your plasma-netbook stick is ready to be used. Just plug it in a computer and reboot.


Use in a VM

You can use the .raw file directly in qemu. VirtualBox is faster but requires you to create a virtual disk image from the .raw file.

VBoxManage convertfromraw --format VMDK Plasma-Netbook-Reference*.raw PRNP.vmdk

This .vmdk file can then be added as a disk using the Virtual Media Manager dialog.

How To Get Involved

Communicate

  • irc: #plasma-netbook on irc.freenode.net
  • mailing list: plasma-devel at kde.org

Get set with the Build Service

To start making your own changes, you need to 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 the 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 make changes in a branch then 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 saves disk space by not copying packages to the build chroot but linking 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

Project 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 it using osc (or the web interface): osc getbinaries images i586

To Be Done

  • gitorious project for config?
  • testing and bug reporting plan?

Platform Problems and Solutions

Broadcom wireless hardware

See http://en.opensuse.org/HCL/Network_Adapters_(Wireless)/Broadcom_BCM43xx - either use the native b43 driver or the Broadcom STA driver from the Packman repo if b43 doesn't work.

WiFi not working out of the box

iwl3945 requires module unload/reload

Cannot mount hard drives as user

TO BE DONE: because of Hal.Device.PermissionDeniedByPolicy: ...storage.mount-fixed auth_admin_keep_always

Known Issues and Current Efforts

  • The fullscreen dialog from the opendesktop.org plasmoid needs to be removed
  • First launch issue with the activities bar: it is so wide that the part of the panel with the window title/close plasmoid is off the right edge of the screen (Marco)
  • Even though it's tiny, users want a lock/logout widget on the panel. We had one for the Kubuntu Netbook tech preview and then removed it for the first real release. Then we put it back due to complaints. There ought to be something more usable on a netbook (and be in the standard look and feel).

Solved Issues

  • Updated plasmoid-networkmanagement package and replace NetworkManager-kde4 with it (Will)
  • enable new notifications plasmoid
  • enable networkmanagement kded module
  • enable networkmanagement plasmoid
  • bootsplash and gfxboot still contain SUSE Studio logos