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. |
||||||||||||||||||||||