Externe Links
Fedora Project
Fedora News
Fedora Wiki
rpm.livna.org
Fehler in Anaconda
AcerHK Treiber
Fedora Core 6 auf Acer TravelMate 291 LMi
Hier ensteht eine Dokumentation zur Einrichtung des gerade erschienenen Fedora Core 6 auf meinem Acer TravelMate 291 LMi. Ich bemühe mich den Text möglichst einfach zu halten und hier und da einige Hintergrundinformationen einzustreuen. Es kann unter Umständen sein, dass es mittlerweile einfachere Wege gibt, um einige der Problemstellungen zu lösen. Zum Zeitpunkt der Einrichtung gab es beispielsweise noch Probleme mit der Installation von den Treibern der ATI Grafikkarte.
Technische Daten des NotebooksEinrichten des Livna-Repositories
Anpassen der Pfade
Installieren der Kernel-Sources
Installieren des IPW-Treibers
Unterstützung des WLAN-Schalters
Sun Java installieren
Firefox Plugins
ATI-Radeon Grafikkarten-Treiber
Installieren des richtigen Kernels
ATI Installationsskript von redblog.phoronix.com
Centrino Speedstepping aktivieren
Technische Daten des Notebooks
| Prozessor | Intel Pentium M 1,4 GHz |
| Hauptspeicher | 512 MB |
| Festplatte | 60 GB |
| Grafik | ATI Mobility Radeon 9700 |
| 15 Zoll SXGA+ Display, 1400x1050 Pixel | |
| Schnittstellen | WLAN ipw2100b |
| RJ45 (LAN) 10/100 Mbps | |
| Irda | |
| IEEE 1284 (LPT) | |
| IEEE 1394 (Firewire) | |
| 3x USB 2.0 | |
| Irda |
Einrichten des livna-Reposotories
Das Repository rpm.livna.org enthält viele Addons, die nicht in Fedora Core oder Fedora Extras aufgenommen wurden. Dazu zählen unter anderem Treiber für ATI oder NVidia Grafikkarten, oder auch Treiber für den Intel WLAN Chip.
su
root-Passwort eingeben
rpm -ivh http://rpm.livna.org/livna-release-6.rpm
Anpassen der Pfade
Lassen sich als nach dem Wechsel zum root durch su keine Befehle wie ifconfig ausführen, lässt sich des durch Bearbeiten der Datei .bash_profile im Home-Ordner des Benutzers beheben.
...
PATH=$PATH:$HOME:/bin:/sbin:/usr/sbin:/usr/bin
...
Installieren der Kernel-Sources
Für das Kompilieren zusätzlicher Programme oder Treiber werden die Quelldateien des Kernels benötigt. Zuerst werden die Quellen mit rpm direkt von download.fedora.redhat.com installiert.
rpm -ivh http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/kernel-$(uname -r).src.rpm
Um die Quellen an die richtige Stelle im Dateisystem zu bringen, kann zunächst der folgende Befehl benutzt werden:
rpmbuild -bp --target=noarch /usr/src/redhat/SPECS/kernel-2.6.spec
Die Quellen befinden sich jetzt unter /usr/src/redhat/BUILD/kernel-2.6.18/, wir wollen diese jedoch in usr/src/ verschieben.
mv /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.noarch/ /usr/src/
Dann wechseln wir in das Verzeichnis /usr/src und legen dort einen Softlink linux an, der auf linux-2.6.18.noarch zeigt.
cd /usr/src
ln -s ./linux-2.6.18.noarch/ linux
Installieren des IPW-Treibers
Nach der Installationd des livna-Reposotories kann nun der Treiber für den Intel WLAN-Chipsatz mittels yum installiert werden.
yum install ipw2100-firmware*
Unterstützung des WLAN-Schalters
Für die Verwendung des Schalers zum Aktivieren des WLAN-Moduls an Acer-Notebooks gibt es einen Treiber von Olaf Tauber unter http://www2.informatik.hu-berlin.de/~tauber/acerhk/. Zunächst sind die Quelldateien herunterzuladen und zu entpacken. Der entpackte Ordner wird dann als root beispielsweise in den Ordner /usr/local/src kopiert. Das Kompilieren des Kernel-Modules mittels make schlägt unter Fedora Core 6 jedoch zunächst fehl. Das liegt daran, dass die Header-Datei "linux/config.h" in FC6 entfernt wurde. Ich bin dabei auf zwei Workarounds gestoßen.
- Kopieren von linux/config.h aus FC5
- Ändern der Quellen von #include</linuxconfig.h> in #include<linux/autoconf.h>
Da es sich hier um nur eine Quelldatei (acerhk.c) handelt, habe ich mich für die zweite Alternative entschieden. Der Aufwand hält sich also in Grenzen.
make
make install
Nun kann das Kernelmodul geladen werden. Dabei fällt auf, dass beim Laden des Kernelmoduls mit modprobe keine Gerätedatei erzeugt wird, die letztendlich die Schnittstelle zur Hardware - also dem Schalter - bildet. Beim laden des Kernelmoduls mit insmod wird diese jedoch automatisch unter /proc/driver/acerhk/wirelessled angelegt. Wichtig sind beim Laden des Kernelmoduls die Optionen force_series=290 usedritek=1.
insmod /lib/modules/2.6.18-1.2798.fc6/extra/acerhk.ko force_series=290 usedritek=1 verbose=0
echo 1 > /proc/driver/acerhk/wirelessled
Nach erneutem Hochfahren des Notebooks kann man nun das WLAN-Modul starten, indem man in der Konsole folgende Befehle eingibt:
insmod /lib/modules/2.6.18-1.2798.fc6/extra/acerhk.ko force_series=290 usedritek=1 verbose=0
echo 1 > /proc/driver/acerhk/wirelessled
ifconfig eth1 up
wpa_supplicant -Dwext -ieth1 -c/etc/wpa_supplicant/wpa_supplicant.conf &
dhclient eth1
Möchte man sich diesen Aufwand ersparen, kann man ein Startscript schreiben, das einem dies automatisch während des Bootvorganges abnimmt.
TODO: Startscript
Sun Java installieren
Um das Sun Java SDK zu installieren, sollte die selbstextrahierendes Achiv gewält werden. Nach dem Herunterladen wird für das SDK zunächst ein Verzeichnis im Dateisystem unter /usr/local/src eingerichtet.
cd /usr/local/
mkdir java
cd java
Nun wird die Datei in /usr/local/java kopiert und die Dateirechte so angepasst, dass die Datei ausführbar wird. Das Script lässt sich dann starten
cp /home/user/Download/temp/jdk-1_5_0_09-linux-i586.bin ./
chmod 744 jdk-1_5_0_09-linux-i586.bin
./jdk-1_5_0_09-linux-i586.bin
Während des Entpackens des Archives muss bestätigt werden, dass die Lizenzbedingungen von Sun akzeptiert werden. Danach empfiehlt es sich einen Softlink zur aktuellen Java-Version anzulegen.
ln -s jdk1.5.0_09/ current
Dies bewirkt, dass /usr/local/java/current immer auf das aktuell installierte SDK zeigt, wenn der Link bei der Installation eines neueren SDKs demenstprechend angepasst wird.
Nun lassen sich die Umgebungsvariablen fü die Java-Pfade setzen.
cd /etc/profile.d
vi java.sh
Die nun neu erstellte Datei erhält folgenden Inhalt:
export JAVA_HOME=/usr/local/java/jre
export PATH=$JAVA_HOME/bin/:$PATH
Der Umgang mit vi ist recht gewöhnungsbedürftig. Wer noch nicht mit vi vertraut ist, dem sei eine entsprechende Seite zu vi auf http://www.linuxfibel.de empfohlen.
Firefox Plugins
Nach der Installation des SDK kann auch das Java-Plugin für den Firefox eingerichtet werden.
cd /usr/lib/firefox-1.5.0.7/plugins
ln -s /usr/local/java/current/jre/plugin/i386/ns7/libjavaplugin_oji.so
Für die Installation des Flash-Plugins muss zunächst das entsprechende Repository hinzugefügt werden.
TODO: Repo einrichten
Danach gestaltet sich die Installation des Flash-Plugins mittels yum recht einfach:
yum install flash-plugin
ATI-Radeon Grafikkarten-Treiber
Die Kernelmodule der proprietären Grafik-Treiber für ATI und Nvidia Grafikkarten liegen auf dem livna Repository.
yum install kmod-fglrx
Dabei wird jedoch folgender Fehler ausgegeben.
Transaction Check Error: package kernel-2.6.18-1.2798.fc6 is already installed
file /boot/System.map-2.6.18-1.2798.fc6 from install of kernel-2.6.18-1.2798.fc6 conflicts with file from package kernel-2.6.18-1.2798.fc6
file /boot/config-2.6.18-1.2798.fc6 from install of kernel-2.6.18-1.2798.fc6 conflicts with file from package kernel-2.6.18-1.2798.fc6
file /boot/symvers-2.6.18-1.2798.fc6.gz from install of kernel-2.6.18-1.2798.fc6 conflicts with file from package kernel-2.6.18-1.2798.fc6
file /boot/vmlinuz-2.6.18-1.2798.fc6 from install of kernel-2.6.18-1.2798.fc6 conflicts with file from package kernel-2.6.18-1.2798.fc6
Ein Hinweis auf dieses Phänomen auf livna.org verweist auf einen Fehler in Anaconda, das unter Fedora Core 6 wohl fälschlicherweise den i586er Kernel statt des i686er Kernels installiert.
Installieren des richtigen Kernels
WICHTIG!!!: Vor dieser Prozedur ist unbedingt eine Sicherheitskopie der Datei /boot/grub/grub.conf angelegt werden.
cp /usr/grub/grub.conf /usr/grub/grub.conf.bak
Zuerst wird der Kernel und die Entwicklerpakete des Kernels entfernt.
yum remove kernel kernel-devel
Dabei ist dann zu sehen, dass tatsächlich der i586er Kernel installiert war.
Loading "installonlyn" plugin
Setting up Remove Process
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package kernel.i586 0:2.6.18-1.2798.fc6 set to be erased
---> Package kernel-devel.i586 0:2.6.18-1.2798.fc6 set to be erased
Aufgrund von Abhängigkeiten werden dann noch einige Pakete deinstalliert. Diese sollte man sich unbedingt notieren, um sie später wieder zu installieren. Bei mir wurden folgende Pakete entfernt:
compiz i386 0.0.13-0.32.20060817git.fc6 installed 1.9 M
gnome-session i386 2.16.0-3.fc6 installed 1.3 M
gnome-volume-manager i386 2.15.0-2.fc6 installed 1.9 M
ipw2100-firmware noarch 1.3-1.lvn6 installed 604 k
pcmciautils i386 014-5 installed 57 k
systemtap i386 0.5.9-1.fc6 installed 1.3 M
Dann kann der i686er Kernel installiert werden.
yum install kernel.i686 kernel-devel.i686
Nun werden die zuvor aufgrund der Abhängigkeiten entferneten Pakete wieder installiert.
yum install compiz gnome-session gnome-volume-manager pcmciautils systemtap
Wie zu Beginn der Einrichtung des Notebooks wird nun auch wieder der WLAN-Treiber installiert.
yum install ipw2100-firmware*
Nach dem Installieren des i686er Kernels muss auch das Kernel-Modul für den Acer Hotkey neu kompiliert und installiert werden. Dazu werden zunächst die Objektdateien entfernt.
cd /usr/local/src/acerhk-0.5.34/
rm *.o *.ko
make
make install
ACHTUNG!!! Die nächsten Schritte führen leider nicht zum Ziel, daher diese Schritte bitte nicht befolgen. Ich habe diesen Abschnitt jedoch nicht entfernt, damit er Hilfestellung leisten kann, falls diese Fehler auch bei anderen Nutzern auftreten. Ein funktionierender Lösungsansatz ist weiter unten zu finden.
Da jetzt tatsächlich der i686er Kernel installiert ist, sollte auch das Installieren des ATI-Grafikkartentreibers funktionieren.
yum install kmod-fglrx
Vor einem erneuten Start sollte nochmals die Datei /etc/grub/grub.conf überprüft werden. Sollte hier der Eintrag für die Linux-Partition fehlen, kann die zuvor gesicherte Version der Datei /boot/grub/grub.conf zurückkopiert werden.
cp /boot/grub/grub.conf.bak /boot/grub/grub.conf
Zudem muss die Date /etc/X11/xorg.conf angepasst werden. Hier wird der fglrx-Treiber ausgewählt. Nach dem Neustart sollte zunächst überprüft werden, mit welchem Treiber der X-Server gestartet wurde.
fglrxinfo
Die Ausgabe sorgt dann allerdings für Ernüchterung. Es läuft nicht der ATi-Treiber sondern der MESA Treiber. Ein Blick in /var/log/Xorg.0.log zeigt dann, dass die Datei /usr/lib/dri/fglrx_dri.so fehlt. Auf dem System findet sich diese Datei jedoch unter /usr/lib/xorg/modules/dri/fglrx_dri.so.
cp /usr/lib/xorg/modules/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so
Nach dem nächsten Start des X-Servers erfolgt jedoch keine Besserung. Statt dessen erscheint nun folgende Fehlermeldung, für deren Lösung ich auf Anhieb keine Hinweise gefunden habe.
/usr/lib/dri/fglrx_dri.so: undefined symbol: __glXFindDRIScreen
Da dieser Weg nicht zum gewünschten Ziel führt, habe ich die mittels yum installierten fglrx-Treiber wieder deinstalliert.
yum remove kmod-fglrx
Statt dessen führt ein HowTo auf http://www.phoronix.com/redblog/ zum Ziel.
ATI Installationsskript von redblog.phoronix.com
Unter http://www.phoronix.com/redblog/downloads/fglrx-fc6-8296-generator.sh knan ein Skript heruntergeladen werden, das bei der Ausführung den proprietären Treiber von ATI herunterlädt und rpm-Dateien erzeugt, die dann installiert werden können.
Centrino Speedstepping aktivieren
Nachdem zuvor der i686er Kernel installiert wurde, kann nun das Speedstepping aktiviert werden, das zuvor wegen des falschen Kernels nicht funktioniert hat. Dazu wird die Datei /etc/cpuspeed.conf bearbeitet.
# uncomment this and set to the name of your CPUFreq module
DRIVER="speedstep-centrino"
