Karlheinz Günster in Haag/Oberbayern |
||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Linux auf dem Notebook Highscreen LeBook PremiumStand: März 2005 Mittlerweile läuft auf diesem altehrwürdigen Notebook Debian in der Version 3.1, dem derzeitigen Sarge. Zuvor waren SuSE 5.3, 6.3, 7.2 und Debian 3.0 installiert. Bei eBay gab es das Notebook recht günstig, so dass ich die Prozessoren von 90 bis 166 MHz testen konnte. Mein Exemplar ist aus dem Jahr 1997. Es hat einen Pentium 133 MHz-Prozessor, eine zehn Gigabyte große Festplatte, Disketten- und ein Mitsumi SR200S 20x CD-Laufwerk, und mittlerweile 128 Megabyte Speicher. Es geht aber auch mit 32 Megabyte. Dazu kommt eine zweite Festplatte und ein Akku und ein Netzteil. Leider passen die ganzen Sachen nicht gleichzeitig hinein, so dass ich öfter gezwungen ist, was umzustecken. Dafür ist es aber recht klein. Es besitzt einen 12,1 Zoll großen TFT-Bildschirm (ohne Fehler) für 800 mal 600 Pixel. Die Grafikkarte ist eine Trident 9385 mit 2 Megabyte. Die Installation von Linux war bis auf eine Kleinigkeit bei SuSE-Linux 5.3, 6.2 und 6.3, 7.2 und Debian 3.0 problemlos, aber umso höher die Version wird, umso langsamer wird das Teil auch. Das Touchpad ist eine Standard-PS/2-Maus. Weiter sofort erkannt wurde PCMCIA mit Cirrus Logic PD6832 CardBus Controller, es laufen darin ein Eiger Ethernet LAN Adapter, ein Askey-Modem 1428VQC-T5 und eine Adaptec SlimSCSI 1460B-Karte. Wegen dem Energiesparmodus, der aber auch unter Windows nicht gescheit funktionierte - das Gerät wollte ab und zu nicht mehr aufwachen -, sollte im BIOS das Power Management auf Disabled stehen. Leider ist es mir nie gelungen, Suspend to Disk zum Laufen zu bekommen. Einrichten ging, aber beim Wegschreiben auf die Platte geriet das Ganze ins Stocken und hing irgendwann. Die für Linux wesentlichen BIOS-Einstellungen schauen bei mir folgendermaßen aus (alles was nicht erwähnt ist, kann meiner Erfahrung nach beliebig eingestellt sein). Es meldet sich mit Phoenix NoteBIOS 4.0:
Nicht geschafft habe ich es, die zweite Festplatte als Slave einzurichten. Das ging nur als Master auf der rechten Seite, so dass eine zweite Platte und das CD-Laufwerk gleichzeitig nicht möglich sind, weil das CD-Laufwerk auch nur rechts Platz hat. Unter Windows habe ich Infrarot auch nicht verwendet, so dass ich nicht weiß, ob das läuft. Bis zur Einrichtung des X-Servers gab es keine Probleme. Achtung! Beim Umschalten in den Grafikmodus wurde bei SuSE's saxdas Display gleichmäßig immer heller bis es weiß leuchtete. Bei SuSE habe ich gelesen, dass man das Gerät dann sofort abschalten oder den X-Server mit Ctrl-Alt-Backspace sofort killen soll, da sonst ein Hardwareschaden auftreten könnte. Deshalb trägt man in die XF86Config am besten die folgenden Werte gleich von Hand ein: # XF86Config auto-generated by XF86Setup # # Copyright (c) 1996 by The XFree86 Project, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # Except as contained in this notice, the name of the XFree86 Project shall # not be used in advertising or otherwise to promote the sale, use or other # dealings in this Software without prior written authorization from the # XFree86 Project. # # See 'man XF86Config' for info on the format of this file Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/local,/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1,/usr/X11R6/lib/X11/fonts/URW" FontPath "/usr/X11R6/lib/X11/fonts/Speedo,/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/75dpi,/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" EndSection Section "ServerFlags" EndSection Section "Keyboard" Protocol "Standard" AutoRepeat 500 30 LeftAlt Meta RightAlt Meta ScrollLock Compose RightCtl Control XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc104" XkbLayout "de" EndSection Section "Pointer" Protocol "PS/2" Device "/dev/psaux" BaudRate 1200 Emulate3Timeout 50 Resolution 100 Emulate3Buttons EndSection Section "Monitor" Identifier "Primary Monitor" VendorName "Unknown" ModelName "Unknown" HorizSync 31.5-37.9 VertRefresh 45-60 Modeline "800x600" 36.00 800 824 896 1024 600 601 603 625 EndSection Section "Device" Identifier "Primary Card" VendorName "Unknown" BoardName "None" EndSection Section "Screen" Driver "Accel" Device "Primary Card" Monitor "Primary Monitor" DefaultColorDepth 16 BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 8 Modes "800x600" EndSubSection SubSection "Display" Depth 15 Modes "800x600" EndSubSection SubSection "Display" Depth 16 Modes "800x600" EndSubSection SubSection "Display" Depth 24 Modes "800x600" EndSubSection SubSection "Display" Depth 32 Modes "800x600" EndSubSection EndSection Section "Screen" Driver "SVGA" Device "Primary Card" Monitor "Primary Monitor" DefaultColorDepth 16 BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 8 Modes "800x600" EndSubSection SubSection "Display" Depth 15 Modes "800x600" EndSubSection SubSection "Display" Depth 16 Modes "800x600" EndSubSection SubSection "Display" Depth 24 Modes "800x600" EndSubSection SubSection "Display" Depth 32 Modes "800x600" EndSubSection EndSection Section "Screen" Driver "VGA16" Device "Primary Card" Monitor "Primary Monitor" BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 4 Modes "800x600" EndSubSection EndSection Section "Screen" Driver "VGA2" Device "Primary Card" Monitor "Primary Monitor" BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 1 Modes "800x600" EndSubSection EndSection Das Notebook läuft auch gut mit einem externem Monitor, da schafft die Grafikkarte sogar 768 mal 1024 Pixel. Dabei kann der entsprechende Eintrag in der XF86Config wie folgt ausschauen. Der Monitor war ebenfalls ein TFT, ein NEC Multisync, der auch korrekt eingetragen wurde, deshalb die 60 Hertz. Bei einer Farbtiefe von 8 und 16 Bit funktionierte das einwandfrei. Eine höhere Farbtiefe habe ich nicht verwendet, weil dann bei Programmen wie WordPerfect plötzlich die Icons eigenartig aussahen. Das hat aber mit dem Notebook nichts zu tun. Section "Monitor" Identifier "Primary Monitor" VendorName "NEC" ModelName "MULTISYNC LCD 1500M" HorizSync 30-61 VertRefresh 50-77 Modeline "1600x1000" 120.85 1600 1616 1968 2080 1000 1000 1008 1044 Modeline "1280x960" 101.50 1280 1296 1552 1664 960 960 969 1003 Modeline "1024x768" 81.01 1024 1088 1264 1336 768 768 777 802 Modeline "640x480" 32.03 640 656 720 832 480 480 486 501 Modeline "1600x1200" 120.85 1600 1616 1968 2080 1200 1200 1208 1253 Modeline "1280x1024" 101.50 1280 1296 1552 1664 1024 1024 1033 1070 Modeline "1152x864" 91.26 1152 1168 1384 1496 864 864 873 902 Modeline "800x600" 50.13 800 816 928 1040 600 600 607 626 EndSection Section "Device" Identifier "Primary Card" VendorName "!!! GENERIC SERVER SELECTION !!!" BoardName "TRIDENT" EndSection Section "Screen" Driver "SVGA" Device "Primary Card" Monitor "Primary Monitor" DefaultColorDepth 16 SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 24 Modes "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" Virtual 1024 768 EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection EndSection Section "Screen" Driver "Accel" Device "Primary Card" Monitor "Primary Monitor" DefaultColorDepth 16 SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 24 Modes "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" Virtual 1024 768 EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection EndSection Die Soundkarte, eine ES 1878, habe ich mit OSS zum Laufen bekommen. In der /sbin/init.d/boot.local befindet sich ein Eintrag zum Starten davon: #! /bin/sh # # Copyright (c) 1996 SuSE GmbH Nuernberg, Germany. All rights reserved. # # Author: Florian La Roche <florian@suse.de>, 1996 # Werner Fink <werner@suse.de>, 1996 # Burchard Steinbild <bs@suse.de>, 1996 # # /sbin/init.d/boot.local # # script with local commands to be executed from init on system startup # . /etc/rc.config # # Here you should add things, that should happen directly after booting # before we're going to the first run level. # # Sound aktivieren /opt/oss/soundon # Damit das Notebook nicht losbrüllt, wird zuerst mit # aumix die Lautstärke eingestellt /usr/bin/aumix -f /etc/aumixrc -L # # Festplattenparameter für Standby auf 20 Minuten, 32bit-Zugriff und die Werte # auch behalten. hdparm -S120 -c1 -k1 /dev/hda # Trotz im BIOS stillgelegtem Power-Management funktioniert die Abschaltung. Dafür gibt es das Programm xautolock, das ich so aufrufe: $ xautolock -time 30 -locker 'apm -s' -notify 120 & Das wird nach 30 Minuten aktiv, führt apm -s aus, das bedeutet Suspend, und benachrichtigt zwei Minuten vor der Abschaltung mit einem Piep. Ein großes S, also apm- S, bedeutet Standby. Bei Benutzerwechsel deaktiviere ich das mit: $ killall xautolock Eingebaut ist das in Autostart und Logout-Skripte. Der Monitor lässt sich sofort mit $ xset dpms force off ausschalten Die zweite Festplatte mounte ich mit einem Eintrag in /etc/su1.priv, so dass ein Eintrag in einem Menü mit su1 vol2mount, oder su1 vol2umount, ausreicht. Gerade bei einem Notebook kann man nicht immer davon ausgehen, dass ein Server in der Nähe ist. Deshalb befindet sich in Autostart des Benutzers ein Skript, das -in meinem Fall - die Existenz zweier Server prüft, dann Verzeichnisse mounted und einen Link auf das Mail-Verzeichnis des Servers legt. Es kann auch mit dem Parameter umount aufgerufen werden. Das geschieht übers Menü, wenn man das Gerät im laufenden Betrieb abstöpseln will. Zum Verständnis: die beiden Server heißen mimoculo und radjah. Es wird beim mounten und unmounten mit su1 nfs-mount $USER aufgerufen. Je nach Zustand - ist gemounted, dann unmounted es und umgekehrt - tut es das Gegenteil. Gezielt kann man ihm aber den Parameter mount oder umount angeben. #!/bin/bash # Netzlaufwerke vom Server mounten # # Mount # function mount-nfs { if [ "$mounted" = "no" ]; then # # mimoculo? if [ "$server" = "mimoculo" ]; then # Die Verzeichnisse mounten: echo "Mounting $server home..." mount /mnt/$server/home echo "Mounting $server opt..." mount /mnt/$server/opt echo "Mounting $server tmp..." mount /mnt/$server/tmp echo "Mounting $server cdrom1..." mount /mnt/$server/cdrom1 echo "Mounting $server cdrom2..." mount /mnt/$server/cdrom2 echo "Mounting $server floppy..." mount /mnt/$server/floppy echo echo "$server directory mounted." echo "Updating... Please Wait." # Gemeinsam benutzte Dateien, wie Adressbücher und so weiter, # aktualisieren. Das geschieht hier nur in einer Richtung! cp -Rfvu /mnt/mimoculo/opt/Public/* /tmp/gemeinsam # # Einstellungen des Notebooks sichern # Sichern von /etc und /var/spool mit einem extra Skript echo echo "Saving config files..." /usr/local/bin/sichern & echo echo "Finished." # echo fi # # radjah? if [ "$server" = "radjah" ]; then echo "Mounting $server home..." mount /mnt/$server/home echo "Mounting $server opt..." mount /mnt/$server/opt echo "Mounting $server tmp..." mount /mnt/$server/tmp echo "Mounting $server cdrom1..." mount /mnt/$server/cdrom1 echo "Mounting $server cdrom2..." mount /mnt/$server/cdrom2 echo "Mounting $server cdrom3..." mount /mnt/$server/cdrom3 echo "Mounting $server floppy..." mount /mnt/$server/floppy echo echo "$server directory mounted." fi # else echo echo "$server directory already mounted." echo fi # Mail-Verzeichnis verlinken test -e /home/$name/Mail && echo "Remove existing Mail-Link.";\ rm /home/$name/Mail echo "Creating new Mail-Link for $name to $server." ln -s /mnt/$server/home/$name/Mail ~/Mail # # Zeit syncronisieren echo "Syncronize time with $server" /usr/sbin/netdate $server # und niederschreiben /sbin/clock -uw # Ende function mount-nfs } # Umount function umount-nfs { if [ "$mounted" = "yes" ]; then # mimoculo? if [ "$server" = "mimoculo" ]; then echo "Unounting $server home..." umount /mnt/$server/home echo "Unounting $server opt..." umount /mnt/$server/opt echo "Unounting $server tmp..." umount /mnt/$server/tmp echo "Unounting $server cdrom1..." umount /mnt/$server/cdrom1 echo "Unounting $server cdrom2..." umount /mnt/$server/cdrom2 echo "Unounting $server floppy..." umount /mnt/$server/floppy echo echo "$server directory unmounted." # fi # # radjah? if [ "$server" = "radjah" ]; then echo "Unounting $server home..." umount /mnt/$server/home echo "Unounting $server opt..." umount /mnt/$server/opt echo "Unounting $server tmp..." umount /mnt/$server/tmp echo "Unounting $server cdrom1..." umount /mnt/$server/cdrom1 echo "Unounting $server cdrom2..." umount /mnt/$server/cdrom2 echo "Unounting $server cdrom3..." umount /mnt/$server/cdrom3 echo "Unounting $server floppy..." umount /mnt/$server/floppy echo echo "$server directory unmounted." fi else echo echo "$server directory not mounted." echo fi } # # Parameter name=$1 zutun=$2 # echo "User: $name $zutun" # Server mimoculo # mimoculo's Adresse server1num="192.168.10.10" server1nam="mimoculo" # # radjah's Adresse server2num="192.168.10.49" server2nam="radjah" # server="no" # # Server 1 erreichbar? ping $server1num -c 1 -w 1 | grep -q -n "100% packet loss" if [ "$?" = "1" ]; then server=$server1nam fi # # Server 2 erreichbar? ping $server2num -c 1 -w 1 | grep -q -n "100% packet loss" #echo $server2nam: $? if [ "$?" = "1" ]; then server=$server2nam fi echo Server is: $server echo "/mnt/"$server > /tmp/server if [ "$server" = "no" ]; then echo echo "No Server found." # Datei mit Namen des Servers loeschen und neu aber leer anlegen. test /tmp/server && rm /tmp/server touch /tmp/server echo # Achtung! Das funktioniert nicht immer. Deshalb benutze ich es nicht: # Aber vielleicht klappt es ja bei jemand anderem. # # echo "Restarting Network." # sleep 5 # /sbin/init.d/pcmcia restart # /sbin/init.d/network restart # /sbin/init.d/route stop # /sbin/init.d/route start # exit 0 fi # # Sonst gehts weiter. # # Ist bereits gemounted? mounted="no" mount | grep -w $server > /dev/null # if [ $? = 0 ]; then mounted="yes" else mounted="no" fi # echo mounted? $mounted # # Kein Parameter, dann mounten wenn nicht gemounted und umgekehrt. if [ "$zutun" = "" ]; then echo $zutun 'ist leer' if [ "$mounted" = "yes" ]; then umount-nfs else mount-nfs fi echo sleep 3 echo exit 0 fi # Mit Parameter mount oder umount if [ "$zutun" = "mount" ]; then mount-nfs else umount-nfs fi # # echo sleep 3 echo |
|||||||||||||||||||||
Dieser Text kann heruntergeladen werden. (Bei Datensalat rechte Maustaste drücken -> Link speichern als...). Informationen zu vielen anderen Notebooks mit Linux gibt es auf der Seite von TuxMobil.org. Texte und Bilder sind urheberrechtlich geschützt. |