How to: Installation von Zubuntu auf dem SL-C760


Stand: 19.02.2009 21:00/bs

Autor: Bernd Schemmer, Bernd.Schemmer at gmx.de


Inhaltsverzeichnis


  1. How to: Installation von Zubuntu auf dem SL-C760
    1. Inhaltsverzeichnis
    2. Einfuehrung
    3. Voraussetzungen
      1. Installation von kexecboot
    4. Installation von Zubuntu
    5. Konfiguration von Zubuntu
    6. Erster Boot von Zubuntu
    7. Offene Punkte
    8. Ausblick
    9. Howtos
    10. Links
    11. History


Einfuehrung


Dieser Artikel beschreibt die Installation von Zubuntu R1.0 auf den Zaurus SL-C760. Da es sich bei Zubuntu nur um ein erstes Release handelt, ist es empfehlenswert Zubuntu erstmal nur auf einer SD- oder CF-Karte zu installieren und das im flash installierte  Image nicht zu aendern. Somit kann mensch mit Zubuntu spielen hat aber als Fallback immer noch die funktionierende Installation im flash.

Dieser Artikel beschreibt daher die Installation von Zubuntu auf der SD Karte.

Grundlegende Linuxkenntnisse werden vorausgesetzt.

Hinweis:

Die im omegamoon Blog  verlinkte Version des kexecboot funktioniert zwar prinzipiell, ich hatte mit dieser Version aber ein paar Probleme auf dem SL-C760. Es ist daher zu empfehlen, die akt. Version von kexecboot zu verwenden (siehe die Links weiter unten)



Voraussetzungen


Da der SL-C760 normalerweise nur vom internen flash bootet, benoetigt mensch zum Booten des Zaurus von einer SD Karte einen Bootloader der das Booten von SD- oder CF-Karten unterstuetzt. Empfehlenswert fuer diesen Task ist der Bootloader kexecboot.

Fuer die Installation auf einer SD Karte wird eine SD Karte mit mindestens 1 GB freien Platz benoetigt. Die Installation sollte auch auf einer CF Karte funktionieren - das habe ich aber nicht getestet.

Das notwendige Zubuntu Image kann hier downgeloaded werden:

    http://www.omegamoon.com/blog/static.php?page=ZaurusUbuntu

Benoetigt wird das "Zubuntu-desktop root filesystem" :
 
    http://www.zaurus.org.uk/cortez/ubuntu/download/zubuntu/zubuntu-desktop-rc1.tar.gz
 
und die SL-C760 spezifischen Dateien: "SL-C700, SL-C750, SL-C760, SL-C860" :
    
    http://www.zaurus.org.uk/cortez/ubuntu/download/zubuntu/c7x0/c7x0-root-addition.tar.gz

Fuer die Installation des Images ist es empfehlenswert ein Linux PC mit SD Cardreader zu benutzen. Alternativ kann mensch sich auch eine Linux LIve CD downloaden und den PC temporaer von dieser CD booten um das Image zu installieren. DammSmallLinux (DSL) reicht fuer diese Zwecke voellig aus,  DSL gibt's hier

    http://damnsmalllinux.org/

Wer sich mit QEMU auskennt, kann DSL auch in QEMU booten und dort dann die Installation vornehmen. QEMU gibt' s hier:

  http://bellard.org/qemu/

Und natuerlich kann die Installation auch direkt auf dem Zaurus gemacht werden


Installation von kexecboot

Fuer die Installation von kexecboot werden folgende Dateien benoetigt:


Hinweis:


Falls auf der o.a. Webseite eine neue Version von zImage-kexecboot verfuegbar ist, kann natuerlich auch diese benutzt werden.

Beide Dateien muessen auf eine mit FAT formatierte CF-Card kopiert werden. Auf der CF-Card sollten ausser diesen beiden Dateien keine weiteren Dateien sein.

Danach sollte das im flash des Zaurus installierte root image fuer die Nutzung von kexecboot vorbereitet werden:

Hierzu muss eine Verzeichnis /boot im Rootverzeichnis angelegt werden. In diesem Verzeichnis muessen zwei Dateien vorhanden sein:

zImage

und

kernel-cmdline

Die zImage Datei ist die gleiche, die fuer das Flashen des Zaurus verwendet wurde. Die Datei kernel-cmdline enthaelt die Parameter fuer den Aufruf  des Kernels. Der Inhalt fuer diese Datei kann ueber die Ausgabe von dmesg nachdem der Zaurus gebootet hat ermittelt werden, Beispiel:

root@c7x0:~$ dmesg | grep "command line"
<5>Kernel command line:  console=ttyS0,115200n8 console=tty1 noinitrd   dyntick=enable debug  jffs2_orphaned_inodes=delete root=/dev/mtdblock2 rootfstype=jffs2 rootwait


In diesem Beispiel muss die kernel-cmdline folgendes enthalten:

console=ttyS0,115200n8 console=tty1 noinitrd   dyntick=enable debug  jffs2_orphaned_inodes=delete root=/dev/mtdblock2 rootfstype=jffs2 rootwait

Das Boot Verzeichnis sollte dann etwa so aussehen:

root@c7x0:~$ ls -l /boot
-rw-r--r--    1 root     root           23 Nov  1  2008 image.nfo
-rw-r--r--    1 root     root           98 Nov  1  2008 kernel-cmdline
-rw-r--r--    1 root     root      1264516 Nov  1  2008 zImage
root@c7x0:~$



Die image.info Datei enthaelt eine Zeile mit der Beschreibung des Rootimages. Diese Datei wird von der aktuellen Version des kexecboots aber nicht mehr ausgewertet. Ich benutze die Datei nur noch, damit ich sehen kann welches Image ich wo installiert habe.


Jetzt kann kexecboot installiert werden (wie steht z.B. hier ); eine Kurzanleitung in Deutsch :

  1.  Den Zaurus ausschalten und die Batterie und alle Kabel entfernen
  2. Alle CF- und SD Karten entfernen und die CF Karte mit kexecboot einlegen
  3.  ca. 5 Sekunden warten
  4.  Die Batterie wieder einsetzen und den Schalter auf Betrieb stellen.
  5.  Das Powerkabel anschliessen und warten bis die orange LED leuchtet
  6.  Den OK Butten druecken und gleichzeitig den Zaurus ueber den Ein/Ausschalter einschalten
  7.  In dem dan erscheinenden Menue den 4 Punkt mit den Stylus waehlen ( Achtung Auf keinen Fall einen der anderen Menue Punkte waehlen); danach den Punkt fuer CF Card waehlen und zum Schluss nochmal mit dem Y Button (der linke Button) bestaetigen.
  8. Warten ... es wird jetzt der Kernel geflashed und danach der Zaurus automatisch gebootet.

Das sollte es gewesen sein .... Der Zaurus sollte jetzt den kexecboot Kernel booten und dieser dann im Bootmenu alle verfuegbaren Bootimages anzeigen.

Um den kexecboot Kernel wieder zu deinstallieren,  reicht es den kexecboot Kernel auf der CF-Card zu loeschen und den richtigen Kernel fuer die Distribution auf die CF Karte zu kopieren. Danach die oben beschriebene Prozedur nochmal ausfuehren.

In allen Faellen wird nur der Kernel geaendert; d.h. das bestehende Root FS und das Home Verzeichnis im Flash werden NICHT geaendert.

Beachtet werden muss beim kexecboot, das kexecboot, soweit ich das verstanden habe, nur 2.6er Kernel unterstuetzt.


Installation von Zubuntu


Fuer die Installation muss auf der SD Karte eine primaere Partition mit 750 MB oder mehr erstellt werden
Die fuer diese Anleitung verwendete SD Karte ist folgendermassen partitioniert:


  # fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 1023 MB, 1023410176 bytes
32 heads, 63 sectors/track, 991 cylinders
Units = cylinders of 2016 * 512 = 1032192 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1               1         728      733792+  83  Linux
/dev/mmcblk0p2             729         991      265104   82  Linux swap / Solaris

Command (m for help):


Zubuntu wird  in diesem Beispiel auf die Partition /dev/mmcblk0p1 installiert und /dev/mmcblk0p2 ist fuer swap vorgesehen.

Als erstes muss die Partition fuer Zubuntu mit ext2 formatiert werden also:

  mkfs.ext2 /dev/mmcblk0p1

Danach wird die Partition 2 fuer swap vorbereitet:

  mkswap /dev/mmcblk0p2


Jetzt kann die Partition 1 gemountet werden

  mkdir -p /mnt/card ;  mount /dev/mmcblk0p1 /mnt/card ; cd /mnt/card


Hinweis: Alle Befehle weiter unten gehen davon aus, das das aktuelle Verzeichnis das root Verzeichnis fuer Zubuntu auf der SD Karte ist!


Als erstes wird jetzt das generische root Filesystem fuer Zubuntu auf der SD Card installiert

  gzip -cd /data/develop/zaurus/ubuntu_on_zaurus/v002/archive/zubuntu-desktop-rc1.tar.gz  | tar -xf -

Als naechests muessen die SL-C760 spezifischen Dateien auf die SD Karte installiert werden:

  gzip -cd /data/develop/zaurus/ubuntu_on_zaurus/v002/archive/c7x0-root-addition.tar.gz | tar -xf -

Damit ist die Installation von Zubuntu auf der SD Karte abgeschlossen. Wenn kexecboot verwendet wird, sollte jetzt noch ueberprueft werden, ob die fuer kexecboot notwendigen Dateien vorhanden sind :


  ls -l boot/
  total 1328
  -rw-r--r-- 1 xtrnaw7 xtrnaw7      32 2008-12-17 16:01 image.nfo
  -rw-r--r-- 1 xtrnaw7 xtrnaw7      97 2008-12-13 00:58 kernel-cmdline
  -rw-r--r-- 1 xtrnaw7 xtrnaw7 1346104 2008-12-21 13:15 zImage


kexecboot benoetigt zwingend die Dateien zImage und kernel-cmdline im Verzeichnis /boot; image.nfo enthaelt nur ein Beschreibung des Images auf der Partition welche von kexecboot dann im Menue angezeigt wird. Allerdings wird diese Datei nur von dem auf der omegamoon Seite verlinkten kexecboot ausgewertet.



Konfiguration von Zubuntu


Im Prinzip kann das Zubuntu Image jetzt schon auf dem Zaurus gebootet werden. Allerdings funktioniert es so nur teilweise. Um Zubuntu auf dem SL-C760 zu nutzen sind noch folgenden manuelle Aenderungen notwendig:

Hinweis: Alle Befehle weiter unten gehen davon aus, das das aktuelle Verzeichnis das root Verzeichnis fuer Zubuntu auf der SD Karte ist!


Als erstes muessen drei zusaetzliche Module in die /etc/modules eingetragen werden damit CF Karten erkannt werden, der Sound funktioniert  (nicht getestet), und Ethernet ueber USB (usb0) funktioniert

  grep snd-soc-corgi  etc/modules || echo "snd-soc-corgi">>etc/modules
 grep pxa2xx_cs etc/modules || echo "pxa2xx_cs">>etc/modules
 grep g_ether etc/modules || echo "g_ether">>etc/modules


In der root/.profile muss dann der Wert fuer die Variable TSLIB_TSDEVICE angepasst werden. Hier steht im Image noch

  root@c7x0:/media/mmcblk0p2$ grep TSLIB_TSDEVICE  root/.profile
  export TSLIB_TSDEVICE=/dev/input/event2


Fuer den SL-C760 muss event2 durch event1 ersetzt werden:

  sed -i "s#export TSLIB_TSDEVICE=/dev/input/event2#export TSLIB_TSDEVICE=/dev/input/event1#" root/.profile

Hinweis fuer andere Zaurus Modelle:

Der korrekten Wert fuer TSLIB_TSDEVICE kann folgendermassen ermittelt werden:

Nachdem der Zaurus mit Zubuntu gebootet wurde, folgendes ausfuehren

  grep -i handlers /proc/bus/input/devices

Der Wert fuer TSLIB_TSDEVICE steht dann in der zweiten Zeile der Ausgabe des grep Befehls, fuer den SL-C760 sieht das so aus:

root@c7x0:~$ grep -i handlers /proc/bus/input/devices
H: Handlers=kbd event0 power
H: Handlers=event1
H: Handlers=kbd event2


Desweiteren muss der Aufruf von xrandr in der Datei root/.xinitrc auskommentiert werden da das GUI sonst im Portrait Modus startet:

  sed -i "s/xrandr -o right/#xrandr -o right/" root/.xinitrc
 

Jetzt noch den Swap aktivieren (wenn hierfuer ein Partition auf der SD Karte konfiguriert wurde!)

  grep swap /etc/fstab || echo "/dev/mmcblk0p2    none   swap   sw   0   0" >>etc/fstab


Wegen eines Bugs im 2.6er Kernel muss der Filecheck des rootfs beim Booten permament ausgeschaltet werden:

  touch ./fastboot
  sed -i "s#rm -f /fastboot /forcefsck#rm -f /forcefsck#" etc/init.d/checkfs.sh



Hinweis:

Da nach dieser Aenderung das rootfs nicht mehr automatisch beim Booten ueberprueft wird, sollte fsck fuer das rootfs oefters mal manuell vom User aufgerufen werden.


Fuer die automatische Konfiguration von Ethernet ueber USB kann jetzt noch die Datei /etc/network/interfaces angepasst werden; sie sollte dann etwa so aussehen:

  cat etc/network/interfaces
auto lo usb0
iface lo inet loopback

  allow-hotplug eth0
iface eth0 inet dhcp

iface usb0 inet static
    address 192.168.0.202
    netmask 255.255.255.0
    network 192.168.0.0
    gateway 192.168.0.200




Erster Boot von Zubuntu


Beim ersten Booten von Zubuntu kommen ein paar Fehlermeldungen die erstmal ignoriert werden koennen. Einloggen kann mensch sich als root (ohne Passwort)

Nach dem ersten Booten sollte die Systemzeit gesetzt werden:

root@Zubuntu:~# date -u 021913202008
Tue Feb 19 13:20:00 UTC 2008

Dann die geaenderte Zeit in der Uhr des Zaurus sichern:

root@Zubuntu:~# hwclock --systohc

Jetzt sollte der Zaurus die geaenderte Uhrzeit auch nach einem Reboot behalten.


Dann sollte der Bildschirm einmal kalibriert werden mittels

  ts_calibrate
 
Danach kann der X Server gestartet werden

  startx

That's it.


Offene Punkte


n/a




Ausblick


Der Autor von Zubuntu arbeitet gerade an einen root fs Image mit Zubuntu 9.04 fuer den Zaurus. Inwieweit fuer dieses Image dann die hier angegebenen Aenderungen noch notwendig sind, muss getestet werden wenn das Image fertig ist.

Fuer den ersten Test von Zubuntu 9.04 gibt's aber schon ein erstes Image hier:

  http://www.oesf.org/forum/index.php?showtopic=26510&st=0

Dieses Image kann mit den o.a. Aenderungen auf dem SL-C760 genutzt werden. Zusaetzlich muss hier noch eine Aenderung in der Datei .xinitrc im Verzeichnis /root gemacht werden um die Tastatur in X nutzen zu koennen:

Die Zeile

  HARDWARE=`cat /proc/cpuinfo | grep 'Hardware' | cut -d':' -f2 | cut -d' ' -f3`

sollte ersetzt werden mit

  HARDWARE=Akita

Damit funktioniert dann auch die Tastatur in X.



Wem das Ubuntu Bootlogo in Portrait Modus stoert der kann das Aendern durch entfernen des Parameters " -a 270" aus der Datei

  /etc/default/psplash


Der ssh Daemon ist im Zubuntu 9.04 Image schon enthalten; zum Starten des ssh Daemons reicht

  /etc/init.d/ssh start


Howtos


Hier noch ein paar Hinweise fuer die Benutzung von Zubuntu

Zum Beenden des X Servers kann die Tastenkombination CTRL-ALT-BACKSAPCE genutzt werden (auch wenn die anderen Tasten nicht funktionieren). CTRL und ALT sind die beiden Japanisch beschrifteten Tasten links neben der Taste "-".


Falls das rootfs aus dem flash gemountet werden soll, folgende Befehle nutzen:

mkdir -p /tmp/flash_rootfs
mount -t jffs2 /dev/mtdblock2 /tmp/flash_rootfs

Soll das /home aus dem flash gemountet werden, folgende Befehle nutzen:

mkdir -p /tmp/flash_home
mount -t jffs2 /dev/mtdblock3 /tmp/flash_home


Hinweis:

Das Mounten der Filesysteme aus dem flash kann ein bisschen dauern.


Der ssh Daemon ist im Image noch nicht installiert. Er kann ueber

    apt-get install ssh

nachinstalliert werden nachdem das Netzwerk konfiguriert wurde

Eine Anleitung wie das Zubuntu Image ins flash installiert werden kann gibt's im omegamoon blog.


Falls der Sound nicht funktioniert, sollte im alsamixer nach geschaut werden, ob die Einstellungen okay sind:

  alsamixer


Lt. einer Message im Forum funktionieren diese Werte fuer SL-C860er Zaurus (nicht getestet):

Master          85%
Master P        MUTE
Sidetone        0%
Mic Boos        MUTE
Playback        None
Capture         MUTE
ADC High        MUTE
Input Mu        Mic
Jack Fun        Headphone
Output M        UNMUTED
Output M        MUTE
Speaker         Off
Store DC        MUTE


where

the names are truncated as in the display, wich is why "Output M" appears twice
MUTE is [MM] and UNMUTED is [00] changed using the 'm' key
Use the up and down arrows to change all other functions/values
You can turn "Speaker" to "On" as required.


Links


Was?
Adresse
Letzter Check am
Kommentar
Zubuntu Homepage http://www.omegamoon.com/blog/index.php 19.02.2009

Zubuntu 9.04 "Beta" http://www.oesf.org/forum/index.php?showtopic=26510&st=0 19.02.2009
kexec download
http://www.angstrom-distribution.org/demo/kexecboot/ 19.02.2009 Kernel
kexec Download http://projects.linuxtogo.org/projects/collie/
19.02.2009 nur Quellcode
Mailing Liste fuer kexecboot http://www.angstrom-distribution.org/demo/kexecboot/ 19.02.2009
Zubuntu Forum auf OESF http://www.oesf.org/forum/index.php?showforum=160 19.02.2009
Beschreibung des Bootmenues http://downloads.conics.net/pda/zaurus-sl-c700/service-menus/ 19.02.2009




DSL Homepage http://damnsmalllinux.org/ 19.02.2009
QEMU Homepage http://bellard.org/qemu/ 19.02.2009







History


Date
What
Comment
19.02.2009 /bs initial release

19.02.2009 18:33 /bs
Korrektur:
snd-soc--corgi muss heissen snd-soc--corgi
Neu:
Info ueber ssh Daemon in Zubuntu 9.04

19.02.2009 19:17/bs
Korrektur:
/etc/defaults/psplash muss heissen /etc/default/psplash
Neu:
Zusaetzliche Infos wegen Sound


19.02.2009 21:00/bs
Update:
Links ueberarbeitet