Documentation

From Wiki.open-pc.com

Jump to: navigation, search

The Open-PC OS is based on openSUSE 11.4 + KDE 4.6.x + some custom artwork & config files.

The technologies used to build the image are KIWI and OBS (Open Build Service).

KIWI recipe

You can take a look at the KIWI recipe at [1]. There you will see several files:

  • config-yast-firstboot.xml Configuration file for the control of the YaST firstboot service. In other words, the type of questions the user is asked on first boot, such has:
    • Language and keyboard
    • Hostname (this will probably be removed).
    • Time and date
    • Users (first user's password is used as root's password by default)
  • config.sh configuration script for SUSE-based operating systems.

sets KDE as the default window manager and activates some services such as kdm and networkmanager:

  baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM kde  
  baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER kdm4
  baseUpdateSysConfig /etc/sysconfig/network/config NETWORKMANAGER yes

chown's/chmod's Open-PC's custom config files:

  chown root:root "/usr/share/YaST2/theme/openSUSE/wizard/background.png"
  chmod 644 "/usr/share/YaST2/theme/openSUSE/wizard/background.png"
  chown root:root "/usr/share/firstboot/scripts/lang.sh"
  chmod 755 "/usr/share/firstboot/scripts/lang.sh"
  chown root:root "/usr/share/YaST2/theme/openSUSE/wizard/logo.png"
  chmod 644 "/usr/share/YaST2/theme/openSUSE/wizard/logo.png"
  chown root:root "/usr/lib64/firefox/defaults/profile/prefs.js"
  chmod 644 "/usr/lib64/firefox/defaults/profile/prefs.js"
  chown root:root "/etc/sysconfig/yast2"
  chmod 644 "/etc/sysconfig/yast2"

moves some YaST language files in order to show only the supported languages (English and German) on first boot. Otherwise it would show all languages supported by YaST regardless if the corresponding language packages are installed or not. Once Firstboot is done, all YaST languages are restored (see below under the root.tar.bz2 section for more info).

  echo "Configuring firstboot/languages"
  mkdir /tmp/languages
  mv /usr/share/YaST2/data/languages/* /tmp/languages/
  cp /tmp/languages/language_de_DE.ycp /usr/share/YaST2/data/languages/
  cp /tmp/languages/language_en_US.ycp /usr/share/YaST2/data/languages/

imports the rpmkeys of repositories

  echo "Importing rpm keys"
  for i in /rpmkeys/gpg*.asc; do   
     # the import fails if kiwi already had this key  
     rpm --import $i || true  
     rm $i  
  done  
  rmdir /rpmkeys

adds the repos to the image

  echo "Adding repos..."
  zypper addrepo -f  -n "openSUSE-11.4-Update" http://download.opensuse.org/update/11.4/ repo-update  
  zypper addrepo -f  -n "openSUSE-11.4-Oss" http://download.opensuse.org/distribution/11.4/repo/oss/ repo-oss
  zypper addrepo -f  -n "Open-PC repository" http://download.opensuse.org/repositories/spins:/open-pc:/11.4/openSUSE_11.4/ open-pc
  zypper addrepo -f  -n "KDE:Release:46 repository" http://download.opensuse.org/repositories/KDE:/Release:/46/openSUSE_11.4/ kde


  • open-pc-release.kiwi This is the main configuration file. It defines different attributes of the image such as:

type of image (OEM), swap size, boot title

  <type image="oem" filesystem="ext4" boot="oemboot/suse-11.4" bootkernel="desktop">
    <oemconfig>
      <oem-swapsize>1024</oem-swapsize>
      <oem-boot-title>Open-PC</oem-boot-title>
    </oemconfig>
  </type>

boot theme

  <boot-theme>Open-PC</boot-theme>

default language (German in this case)

  <locale>de_DE</locale>

repositories used for building the image

  http://download.opensuse.org/distribution/11.4/repo/oss/
  http://download.opensuse.org/repositories/spins:/open-pc:/11.4/openSUSE_11.4/
  http://download.opensuse.org/repositories/KDE:/Release:/46/openSUSE_11.4/

or the package list.

  [...]
  <package name="konqueror"/>
  <package name="konqueror-plugins"/>
  <package name="konqueror-plugins-lang"/>
  <package name="konsole"/>
  <package name="kontact"/>
  <package name="konversation"/>
  [...]
  • root.tar.bz2 Tarball containing:
    • customised configuration files that are already part of a package like
    • /etc/sysconfig/yast2 YaST custom settings (shows a summary after installing/deinstalling a package instead of exiting)
    • custom YaST Firstboot artwork under /usr/share/YaST2/theme/openSUSE/wizard/
    • /usr/share/firstboot/scripts/lang.sh which renables all languages on YaST (it's run after Firstboot is done)
    • the repositories' rpm keys /rpmkeys

Custom packages

KDE default seetings are a mixture between upstream and openSUSE defaults. The custom Open-PC packages are:

  • bootsplash-branding-OpenPC: contains custom artwork and configuration files for the boot splash.
  • gfxboot-branding-OpenPC: gfxboot Open-PC theme (source package: gfxboot).
  • kdebase4-workspace-branding-OpenPC: includes KDE default settings, the KSplash Open-PC theme, the Open-PC wallpaper.
  • kdm-branding-OpenPC: KDM Open-PC theme (source package kdebase4-workspace-branding-OpenPC).
  • MozillaFirefox-branding-OpenPC: Firefox default settings for the Open-PC (bookmarks, homepage, theme).

Note: to see the full configuration, go to [2]. For the custom Open-PC packages, go to [3].

Related links

Personal tools