2007-11-15

Linux auf dem Fujitsu Stylistic 3400

Wir haben hier also einen etwas älteren Fujitsu Stylistic 3400 Tablett-PC.
Das mitgelieferte Windows98 ist zwar ganz nett aber doch heutzutage schon etwas arg eingeschränkt nutzbar.
Nicht so mit Linux.

Diese Anleitung soll zeigen wie wir also ein modernes Linux auf diesen Rechner bekommen.

Benötigte Ausrüstung:
  • Ein knoppix-ISO
  • Ein 2.5"-Festplatten-Gehäuse für den USB-Port
  • Passende Micro- und Normal-Schraubendreher für das USB-Gehäuse und die Festplattenabdeckung des Rechners

Linux-Installation ohne externe Laufwerke?
Als erste Problem stellt sich die Frage, wie man überhaupt Linux auf diese Kiste bekommt?
Immerhin gibt es keinerlei Laufwerke.
Die Lösung: Qemu!

Wir bauen die 2.5"-Festplatte aus und stecken sie in ein billiges USB-Festplatten Gehäuse.
Anschließend laden wir als Quelle ein Knoppix herunter. In diesem Fall das KNOPPIX_V5.1.1CD-2007-01-04-DE.iso .
Nehmen wir an die 2.5"-Platte ist /dev/sdc .
So können wir sie mit einem Knoppix booten mittels:

qemu -hda /dev/sdc -cdrom downloads/KNOPPIX_V5.1.1CD-2007-01-04-DE.iso -boot d

Dies reicht für eine erste Installation durch "sudo knoppix-installer" und der Auswahl "Debian-System".
Nach einer Weile haben wir nun ein System, welches aber nur mit der emulierten Graphikkarte etwas zeigen wird.
Wir fahren also den emulierten Rechner herunter und starten von der realen Festplatte. Diesmal aber mit Netzwerk.
Wir nehmen an, im lokalen Netzwerk gibt es einen DHCP-Server.
also:
Anlegen einer neuen Bridge

brctl addbr br0

Hinzufügen des lokalen Ethernet-Interfaces zur Bridge, damit unsere VM nach draußen kommt.

brctl addif br0 eth0
ifconfig br0 up

Wollen wir selber jetzt noch Netz habem, heißt es die vorhandene IP A.B.C.D von eth0 auf br0
zu übernehmen.

ip addr del A.B.C.D/24 dev eth0
ip addr add A.B.C.D/24 dev br0

jetzt endlich können wir die VM starten:

qemu -hda /dev/sdc -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/network/qemu_up

xorg auf Trident Cyber 9525?

zunächt öffnen wir die Datei /etc/X11/xorg.conf als root in einem editor.

su -c "vi /etc/X11/xorg.conf"

Die relevante Sektion lautet:

Section "Device"
Identifier "Card0"
Driver "trident"
VendorName "Trident Microsystems"
BoardName "Cyber 9525"
BusID "PCI:0:20:0"
EndSection

fpit-touchpad und xorg?

Nun werden wir zwar eine graphische Oberfläche haben, aber noch kein Touchpad um diese zu bedienen.
Also brauchen wir noch:

Section "InputDevice"
Identifier "mouse0"
Driver "fpit"
Option "Device" "/dev/ttyS3"
Option "BaudRate" "9600"
Option "MaximumXPosition" "4070"
Option "MaximumYPosition" "4020"
Option "MinimumXPosition" "0"
Option "MinimumYPosition" "0"
Option "Passive"
Option "SendCoreEvents"
EndSection
Der Treiber fpit gehört aber nicht mehr zur Grundausstattung eines xorg in Knoppix. Deshalb haben wir das Netzwerk so dringend benötigt. Also installieren wir ihn mit:

su -c "apt-get update && apt-get install xserver-xorg-input-fpit xvkbd"

Damit der Treiber funktioniert müssen nun noch vorher die folgenden beiden Zeilen in ... eingetragen werden:

su -c "vi /etc/rc.local && ln -s /etc/init.d/rc.local /etc/rc5.d/S98local"

und fügen hier vor dem "exit 0" ein:

setserial /dev/ttyS3 autoconfig
setserial /dev/ttyS3 uart 16450 irq 5 port 0xfd68

Einloggen in KDM ohne Tastatur?

Nun haben wir zwar ein funktionierendes Touchpad als Mouse-Ersatz,
dies wird uns aber nach dem Booten nichts helfen, da wir eine Tastatur
für das Passwort in KDM benötigen.
Diese haben wir vorhin in Form von xvkbd installiert und starten sie mittels:

su -c vi /etc/kde3/kdm/Xsetup

/usr/bin/X11/xvkbd -geometry 480x130 &

(wieder vor "exit 0" oder irgendwo vor dem Ende der Datei einfügen.)

Jetzt endlich können wir das emulierte System mit "su -c poweroff" herunterfahren
und die Festplatte in den Fujitsu Stylistic 3400 einbauen.


Alles so klein hier...

Da der Rechner maximal 192MB Ram hat, sollten wir noch 2 Dinge tun:
eine Swap-Partition oder -Datei anlegen und die Festplatte hierfür in den DMA-Modus
schalten.

Zunächst das letztere:

su -c "vi /etc/hdparm"

und hier die # vor dem Eintrag

/dev/hda
mult_sect_io = 16
write_cache = off
dma = on

entfernen.

Eine Swap-Partition können wir mit "cfdisk" anlegen, eine Datei mit "dd if=/dev/zero of=/DATEI bs=1m count=MEGABYTES".
Anschließend diese mit "mkswap /dev/hda2" bzw "mkswap /DATEI" initialisieren und

su -c "vi /etc/fstab"

eintragen (statt
/dev/hda2 evtl den Pfad zur Datei)
/dev/hda2        none         swap   sw
Offene Fragestellungen:

Das Sperren des Bildschirms mittels kdesktop_lock zeigt kein OnScreen-Keayboard an.
Hier scheint die Lösung etwas mit dem Setzen der HAL-Eigenschaft

hal_set_property --udi /org/freedesktop/Hal/devices/computer --key system.formfactor --string laptop
hal_set_property --udi /org/freedesktop/Hal/devices/computer --key system.formfactor.subtype --string tabletpc

Helfen tut es aber momentan noch nicht. Evtl. ist hier ein neueres KDE nötig.
Hier ist zumindest ein Patch eines SuSE-Entwicklers zu finden.
Anscheinend ist der Patch nur in OpenSuse eingebaut.


...viel Spaß am Gerät!



Quellen:
  • http://www.x.org/archive/X11R6.8.0/doc/fpit.4.html (X11 und "fpit"-Touchpad)

  • http://www.neoseeker.com/forums/529/t267577-fujitsu-stylistic-3400-linux/ (X11-config)

  • http://compsoc.dur.ac.uk/~djw/qemu.html (qemu+Bridging)

  • http://forums.xbox-scene.com/lofiversion/index.php/t41230.html (KDM und OnSreen-Keyboard)