Logo


Computer Communication & Consulting

Linux - auf mobilen Geräten

letzte Änderung 02.01.2010

Linux auf Sony Vaio PCG-C1MGP

... besser gesagt: Xubuntu auf Sony Vaio PCG-C1MGP



Auf dem Sony C1MGP installierte Software
longrun - für den Crusoe TM-5800
spicctrl - Sony Programmable I/O Control
Tuning für den C1MGP
Ubuntu auf FSC Amilo Xi 1554
Ubuntu auf Sony Vaio P11Z


English version of a similar page - click on flag or here.
Xubuntu 8.04 mit Fluxbox auf dem C1MGP

sony-c1mgp.jpg Um es vorweg zu sagen: "Xubuntu Linux funktioniert auf dem C1MGP besser als das mitgelieferte Windows XP professionell." Das ist aber weniger ein Problem von Windows sondern liegt eher an dessen "schlampiger" Implementierung durch Sony.

Das Sony Vaio PCG-C1MGP ist zwar schon ein paar Tage alt. Auf Grund seiner Größe (etwa so groß wie ein DIN-A5 Notizbuch) ist es jedoch äußerst portable. Zur Not findet es auch mal in einer Manteltasche Platz und eine Akkuladung reicht für gute 4 Stunden konstantes Arbeiten aus.

Mangels bootfähigem CD-Laufwerk hatte mein Sony C1MGP im ersten Versuch eine Xubuntu 6.06 Debian-Variante per Netzwerkinstallation eingespielt bekommen. Windows 2000 bzw. XP verweigerten dagegen hartnäckig die Installation per XPE-Boot. Der Setup für ein Linux XPE-Boot war in ca. einer halben Stunde aufgesetzt und getestet; die gesamte Xubuntu Installation innerhalb von 2 Stunden komplett erledigt. Lediglich das Fine-Tuning mit longrun, hdparm u.a. kam nachher noch hinzu.
Xubuntu hat erstaunlicherweise sogar die exotischen Bildschirmproportionen von 1280x600 Pixeln richtig erkannt und fehlerfrei installiert. Am X-Server war dadurch keine Nacharbeit notwendig.

Als dann später ein CD-Laufwerk zu Verfügung stand wurde die Windows Partition restored. Erstaunlichweise ließ sich trotz vielen Versuchen, Treiber- und System-Updates die unter Linux einwandfrei laufende Logitech V270 Bluetooth Maus, unter Windows nicht installieren bzw. betreiben. Als weiteres Manko unter Windows sehe ich den Betrieb eines USB-Serial Adapters. Auch dieser läuft unter Linux auf Anhieb fehlerfrei.

Lediglich die integrierte Motion Eye Kamera bekomme ich unter Linux nicht zum Laufen. Allerdings habe ich mir damit auch keine große Mühe gemacht, da mir die Kamera unwichtig ist. Außerdem habe ich meine Schwierigkeiten mit dem Jog-Dial. Dazu gibt es unter Linux das Programm "sjog" ... das bei mir nicht sonderlich gut funktioniert ... aber auch unter Windows finde ich die Bedienung des C1MGP mittels des Jog-Rades umständlich und nutze sie daher nicht.

Linux On Laptops Mittlerweile ist auf dem C1MGP Xubuntu 7.04 Feisty Fawn installiert und dessen Vorabversionen liefen erstaunlicherweise schon 2 Monate vor der offizellen Release von Feisty sehr stabil und zuverlässig.

Mein C1MGP ist mit einer 60GB Festplatte und 384MB RAM ausgerüstet. Für die Co-Existenz und den wechselweisen, parallelen Betrieb mit Windows ist die Harddisk wie folgt partitioniert:

Partition Size FileSystem Bemerkung
/dev/hda1 10 GB FAT 32 Windows XP
/dev/hda2 15 GB ext3 Linux
/dev/hda3 1 GB swap
/dev/hda3 32 GB FAT 32 Data

Die User Home-Verzeichnisse befinden sich in der ext3-Partition /dev/hda2. Als Besonderheit ist die 4te Partition als FAT32 Dateisystem ausgelegt. Dadurch stehen unter Linux und Windows die gleichen Daten zur Verfügung. Die Partition wird unter /mnt/data gemountet und einige symbolische Links aus dem Home-Verzeichnis verweisen auf Directories in dieser Partition. Bei der Verwendung von rsync muß man auf die Besonderheiten der FAT32 Dateimetadaten Rücksicht nehmen. Um ggf. Zeichensatzwandlungen zwischen Linux und Windows vorzunehmen bietet sich das Linux-Programm iconv an.


Installierte Software

Die "fetten" Softwarepaket wie z.B. OpenOffice und Mozilla Firefox haben eine dem System entsprechende lange Ladezeit ( > 20 Sekunden) und sind nicht wirklich "nett" zum Arbeiten.
Wie unter Linux üblich gibt es jedoch für jede Software eine echte Alternative und so kommen AbiWord, Gnumeric und Opera zum Einsatz.
Für meine Notizen verwende ich ZMzettelkasten, ein selbst geschriebenes Programm das mit wenigen Resourcen auskommt und zu dem es ein Windows Gegenstück gibt.
Neben dem Schreiben von Notizen und Texten wird der C1MGP hauptsächlich als RS232-Terminal verwendet. Hier kommt GtkTerm zu Einsatz, das einen einfachen aber guten VT100 Ersatz bietet. Da der C1MGP keine serielle Schnittstelle zur Verfügung stellt wird ein einfacher USC-2000 verwendet. Im Gegensatz zu Windows ist für diesen USB-Serial Adapter unter Xubuntu kein zusätzlicher Treiber zu installieren. Er wird beim Anstecken automatisch als /dev/ttyUSB0 erkannt.

Sonstiges

ACPI funktioniert "out of the Box" einwandfrei. Lediglich bluetooth, longrun und spicctrl wurden manuell nachinstalliert bzw. konfiguriert. Über "spicctrl" lassen sich Einstellungen wie Z.B. Backlight auslesen und vornehmen bzw. Systemstati abrufen.

Einziges derzeitiges Manko beim Einsatz von Xubuntu auf dem Sony PCG-C1MGP ist die lange Zeit zum Booten. Hier werde ich sicher noch einiges optimieren können. Zusätzlich dazu steht die Konfiguriation des Suspend to Disk noch an.

Bluetooth

Das eingebaute Bluetooth-I/F wird richtig erkannt und funktioniert auf Anhieb. Eine Logitech 270 Maus wird mittels hidd --search gefunden und steht danach als Maus zu Verfügung. Als Vorarbeit dazu sind in /etc/default/bluetooth die Zeilen

HIDD_ENABLED=1
HIDD_OPTION="--master --server"
freizugeben bzw. zu ergänzen.


longrun

Der Sony Vaio PCG-C1MGP ist mit einer Transmeta Crusoe TM5800 CPU ausgerüstet. Durch das Programm "longrun" kann diese CPU in in unterschiedlichen Performance-Leveln betreiben werden und dementsprechend den Akkubetreib besser nutzen bzw. verlängern.

Longrun greift auf die Devices /dev/cpu/0/cpuid und /dev/cpu/0/msr zu, die standardmäßig nicht vorhanden sind. Ein selbsterstelltes Script im Directory /usr/local/sbin/ mit dem Namen longrun_start wird bei jedem Systemstart von /etc/init.d/rc.local gestartet und legt diese Devices an.

/usr/local/sbin/longrun_start

#!/bin/sh
# if not exist - create cpuid and msr device 

if [ ! -d /dev/cpu/0 ]; then
  mkdir /dev/cpu
  mkdir /dev/cpu/0
fi

if [ ! -c /dev/cpu/0/cpuid ]; then
  mknod /dev/cpu/0/cpuid c 203 0
fi

if [ ! -c /dev/cpu/0/msr ]; then
  mknod /dev/cpu/0/msr c 202 0
fi

# and start longrun in economy mode
/usr/bin/longrun -f economy
Das Einbinden/Aufrufen von longrun_start in
/etc/init.d/rc.local
...
case "$1" in 
    start)
        do_start
        /usr/local/sbin/longrun_start
        /usr/bin/spicctrl -b 128
        ...
        ;;
...
Dies ist nur ein Auszug aus rc.local. In der Folgezeile wird auch gleich noch über spicctrl das Backlight auf halbe Helligkeit gesetzt.

Mittels Longrun kann man als User root die Einstellungen von der Shell aus vornehmen. Besser ist es jedoch die longrun Parameter in /etc/default/longrun einzustellen. Dann werden die Anpassungen von ACPI z.B. beim Ein- und Ausstecken der Stromversorgung automatisch vorgenommen.

Meine Einträge in /etc/default/longrun

LONGRUN_ENABLE="1"
PERFORMANCE="0 100"
ECONOMY="0 50"
LOW_BATTERY="0 0"


spicctrl

spicctrl ist ein spezielles Programm für Sony Notebooks mit Sony Programmable I/O Control device (SPIC). Mit diesem Programm kann man verschiedene Hardware-Setups auslesen bzw. einstellen. Ein einfacher Aufruf von spicctrl ohne Parameter, gibt eine Liste der möglichen Optionen aus.

Für mich ist davon die Einstellung der Backlight-Helligkeit am wichtigsten, da man mit einem gedimmten Backlight meistens noch gut arbeiten und jede Menge Strom sparen kann. Ein helleres Backlight braucht erheblich mehr Strom, so dass im Akku-Betrieb die Helligkeit auf das vertretbare Minimum herabgesetzt werden sollte.

Um diese Einstellungen automatisch durchführen zu lassen, habe ich die entsprechenden Einträge in zwei Scripts platziert. Eines davon ist
/etc/acpi/ac.d/lcd.sh

#!/bin/sh
/usr/bin/spicctrl -b 200
und das zweite /etc/acpi/battery.d
#!/bin/sh
/usr/bin/spicctrl -b 100
Durch Anstecken des Powersupplies werden alle Scripte in /etc/acpi/ac.d/ ausgeführt. Entsprechend beim Abstecken des Netzteils und Umschalten auf Batteriestrom die Scripte in /etc/acpi/battery.d. Die beiden Scripte rufen also beim An- und Abstecken des Netzteils jeweils spicctrl mit den Parametern für die Backlight-Helligkeit auf. Ist die automatisch eingestellte Helligkeit nicht ausreichend, kann jederzeit per Shell-Auruf von spicctrl die gewünschte Helligkeit nachgeregelt werden.



Tuning für den C1MGP

Der C1MGP ist nicht der schnellste ... meiner Meinung nach hat er besonders mit dem shared Memory der Grafikkarte zu kämpfen. Durch ein paar zusätzliche Maßnahmen kann man ihn jedoch zu einem brauchbaren Co-Piloten machen.

Schnelle und einfache Änderungen

  1. In Ubuntu und dessen Derivaten ist swappiness von Hause aus auf 65 eingestellt. Dadurch swapped Linux für einen Desktop/Notebook zu früh und verbraucht zuviel Zeit.
    Einfach /etc/sysctl.conf editieren und dort die Zeile anhängen:
    vm.swappiness=25
  2. In /etc/init.d/rc nach der Zeile CONCURRENCY suchen und ggf. abändern auf:
    CONCURRENCY=shell
  3. Standardmäßig wird die Festplatte in einem sicheren dafür aber auch langsamen Modus betrieben. Dies kann man durch Anhängen von
    command_line {
    	hdparm -q -m16 -q -W0 -q -d1 -q -c1 /dev/hda
    }
    
    an die Datei /etc/hdparm ändern. Dies stellt das IDE-Interface zur Platte auf 32 Bit und DMA-Mode um. IM C1MGP mit eine Fujitsu Festplatte funktioniert dies einwandfrei.
    Achtung: nicht jede Festplatte verträgt diesen Modus

  4. Es lohnt sich auch die gestarteten Dienst bzw. Services zu überprüfen und alle nicht benötigten Services zu disablen. Am einfachsten geht dies mit dem Programm sysv-rc-conf, mit dem man auf der Shell die Services nach Runleveln sortiert ein- und ausschalten kann.
    Werden Services wie z.B. LVM oder auch CUPS nicht verwendet, kann man sie für den portablen Betrieb des C1MGP stillegen.

  5. Mit den Kommandos bzw. Programmen apt-get autoclean, localepurge und debfoster kann man sich von weiterem unnötigem Ballast trennen.

Grub modifizieren zum Booten mit und ohne GUI (XFCE)

Es lohnt sich auf jeden Fall auch die defoptions für das Booten in /boot/grub/menu.lst zu überarbeiten. Wenigstens die Optionen
"vga=0x0314 elevator=cfg" sollte man dort ergänzen.
Die Frame Buffer Einstellung vga=0x314 stellt die Konsole auf 800x600 Pixel bei 16 Farben ein. Das ergibt einerseits ein größeres "Bild" zum Arbeiten und andereseits eine gute Beschleunigung sowohl des Bootvorgangs als auch des Umschaltens von der GUI zur Konsole mittels [Strg]-[Atl]-[F1] Keykombination.

Das Booten in die XFCE-GUI dauert reichlich lange ... zwischen 2 und 3 Minuten. Für viele Dinge benötigt man die GUI jedoch überhaupt nicht. Wünschenswert wäre daher ein Eintrag in das Grub Menü, mit dem das System in den Kommandozeilen Modus hochgefahren werden kann, ohne dass GDM mit dem grafischen Login mit hochgefahren wird.

Ubuntu sieht von Hause aus nur den Runlevel 2 vor. Die Runlevel 2-5 sind unter Ubuntu alle gleich. Schön wäre es, wenn man wie bei anderen Linux Distributionen möglich durch einsetzen der Runlevel Zahl in die Zeile
kernel /boot/vmlinuz-2.6.xx root=UUID=7c0... 5 ro quiet locale=de_DE vga=0x0314 elevator=cfq
z.B. den Runlevel 5 auswählen könnte.

Dazu ist es notwendig die Datei /etc/event.d/rc-default zu modifizieren:

# rc - runlevel compatibility
#
# This task guesses what the "default runlevel" should be and starts the
# appropriate script.

start on stopped rcS

script
	runlevel --reboot || true

	if grep -q -w -- "-s\|single\|S" /proc/cmdline; then
	    telinit S
	### modified for reading runlevel from grub ###
	elif grep -qE -w -- "[1-5]" /proc/cmdline; then
	    RL="$(grep -Eo -w -- "[1-5]" /proc/cmdline)"
	    if [ -n "$RL" ]; then
	        telinit $RL
	    else
	        telinit 2
	    fi
	### end of mod ###
	elif [ -r /etc/inittab ]; then
	    RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
	    if [ -n "$RL" ]; then
		telinit $RL
	    else
		telinit 2
	    fi
	else
	    telinit 2
	fi
end script

Per Synaptics oder apt-get das Programm sysv-rc-conf installieren und die Run-Level entsprechend den persönlich Wünschen editieren. Auf meinem C1MGP ist der Runlevel 2 (default) nur ein Shell Account und Runlevel 5 (ähnlich wie bei SUSE) das "volle System" inklusive XFCE als GUI.

Derzeit benötigt mein C1MGP in Runlevel 2 ca 60 Sekunden bis zum Login Prompt und in Runlevel 5 etwa 1:35 Minuten bis zum GUI Login plus etwa 50 Sekunden bis das komplette XFCE geladen ist. Der Geschwindigkeitvorteil vom Einschalten bis zum ersten Arbeiten ist also erheblich.

Zur schnellen Erfassung von Ideen und Texten unterwegs ist das Script QI - QuickInfo entstanden, das nur eine Bash-Shell auf dem Notebook benötigt. Das Einpflegen der "Textfragmente" in andere Applikationen, z.B. ZMzettelkasten passiert dann später, wenn der C1MGP komplette in XFCE hochgefahren ist.

Falls jemand auch einen C1MGP oder C1MHP sein eigen nennt und Anregungen oder Fragen zu der Linux-Installation darauf hat, bitte mailen.




Home Page
Ranking-Hits
Copyright © 2001-2014 Bernd Holzhauer. Alle Rechte vorbehalten.
Warenzeichen und Marken sind Eigentum der jeweiligen Besitzer.

Das Ing.Büro Bernd Holzhauer distanziert sich grundsätzlich von gesetzeswidrigen und möglicherweise illegalen Inhalten in Seiten, auf die über www.cc-c.de verwiesen wird. Sollte Ihnen diesbezüglich etwas auffallen, melden Sie es uns bitte per email.