Documentation
From Wiki.open-pc.com
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].
