AA_herzerl_sxc693301_SilvanStreuli.jpg

© Silvan Streuli, 123rf.com

Bund fürs Leben

Linux für Notebooks anpassen

21.12.2011
Linux und Notebooks sind noch immer kein Dream-Team. Mit einigen Tricks und Kniffen wird aus der Vernunftehe doch noch eine Traumhochzeit.

Notebooks stellen für Betriebssystementwickler eine besondere Herausforderung dar: Die handlichen Geräte stecken – anders als ihre "großen" Brüder unter dem Schreibtisch – voller modifizierter Hardware, die sich vielfach nicht mit Standard-Modulen ansprechen lässt. Linux-Systemprogrammierer haben es mit den transportablen Systemen besonders schwer: Die Hersteller geben oft nicht die genauen Hardware-Spezifikationen preis, weil sie durch eine solche Offenheit Wettbewerbsnachteile befürchten – schließlich könnte die Konkurrenz aufgrund offengelegter Spezifikationen technisch gleichziehen oder gar überholen.

Daher hing Linux lange Zeit der Geruch an, es ließe sich auf Notebooks nur schwer oder gar nicht nutzen. Inzwischen erkennen jedoch mehr und mehr Hersteller, dass das freie Betriebssystem eine feste Größe im Markt darstellt und dass sich aus einer entsprechenden Unterstützung durchaus Wettbewerbsvorteile ziehen lassen. So hat die Installation des Pinguins auf Notebooks viel von ihrem Schrecken verloren. Gleichwohl gibt es angesichts hunderter verschiedener Modelle immer noch einige Stolpersteine, die sich aber in der Regel mit wenigen Handgriffen umgehen lassen.

Widerspenstige Grafik

Seit Einführung der sogenannten Breitbild-Formate bei Bildschirmen ergeben sich insbesondere bei Linux-Distributionen, die für ältere Notebooks konzipiert sind, gelegentlich Probleme beim Einstellen der korrekten Auflösung.

Da ältere Notebooks in aller Regel das 4:3-Bildformat unterstützen und damit VESA-konform arbeiten, war es mit diesen Geräten bei Fehlen eines entsprechenden Moduls oder nicht ausgereiften Treibern jederzeit möglich, auf das in jeder Linux-Distribution vorhandene VESA-Modul zurückzugreifen. Das bietet zwar keine Unterstützung für 3D-Hardware, liefert jedoch im herkömmlichen 2D-Betrieb eine ansprechende Leistung. Mit Einführung der 16:10- und 16:9-Breitbildformate wurden viele der in den gängigen Linux-Derivaten vorhandenen hardwarespezifischen Module an die neuen Auflösungen angepasst, was jedoch bei exotischeren Grafikkarten nicht immer reibungslos klappt (Abbildung 1).

Abbildung 1: SVGA-Auflösung bei fehlerhafter Grafikkarteneinstellung.

In solchen Fällen empfiehlt es sich, proprietäre Treiber der Hersteller zu verwenden, wie sie insbesondere ATI/AMD [1] und Nvidia [2] für ihre Grafikkarten kostenfrei anbieten. Solche Grafiktreiber unterstützen in aller Regel zusätzlich die meisten hardwarespezifischen Sonderfunktionen, sodass Sie auf diesem Weg auch am Notebook oftmals zwei Displays simultan betreiben oder Applikationen nutzen, die die OpenGL-Funktionalität zwingend voraussetzen (Abbildung 2).

Abbildung 2: Korrekt installiertes Grafikkartenmodul mit WSXGA+-Auflösung.

Sollte Ihr System bereits beim Start einer Live-Distribution einen Blackout aufweisen und der Bildschirm schwarz bleiben, so hilft in den meisten Fällen ein kleiner Parameter weiter, den Sie im Startmenü des Bootloaders Grub eintragen müssen. Sie wählen dazu im textbasierten Startbildschirm von Grub den gewünschten Starteintrag aus und öffnen durch Drücken von [E] den Editor des Bootloaders.

Dort wechseln Sie zur Zeile kernel und fügen an deren Ende den Eintrag nomodeset hinzu. Etwaige vorher aufgeführte Parameter, die einen VGA-Grafikmodus festlegen (meist findet sich der Parameter vga=788), löschen Sie bitte. Anschließend können Sie durch Drücken der Taste b das System mit dem neuen Parameter problemlos starten.

Verwenden Sie den grafischen Bootloader, so drücken Sie, nachdem Sie den korrekten Starteintrag gewählt haben, zunächst die Taste [F3] und wählen den Menüeintrag Sichere Einstellungen. Nun öffnet sich eine Zeile mit Bootoptionen, in der Sie ebenfalls den Parameter nomodeset anfügen. Anschließend fahren Sie das Betriebssystem durch Drücken der Eingabetaste hoch.

Festplattenprobleme

Ein besonders ärgerliches Problem ergibt sich bei Notebooks oft im Zusammenhang mit dem Betrieb von Festplatten ergeben. Herkömmliche Vertreter der Gattung beinhalten im Gegensatz zu Solid State Disks (SSDs) mechanische Bauteile, die motorgesteuert bewegt werden und daher natürlichem Verschleiß unterworfen sind. Die aufwendige Mechanik macht Festplatten nicht nur empfindlich gegen Stöße und Bewegungen von außen, sondern verursacht auch einen höheren Energiebedarf als ihn die rein elektronisch arbeitenden SSDs aufweisen.

Um den Energieverbrauch nicht ausufern zu lassen und somit die Lebensdauer des Notebook-Akkus zu erhöhen, integrieren alle Hersteller von 2,5-Zoll-Festplatten (und auch Seagate bei seinen Hybrid-Festplatten) Mechanismen in die Firmware der Laufwerke, welche die Schreib- und Leseköpfe nach einer definierten Zeit der Inaktivität in eine Ruheposition fahren. Nach einer weiteren definierten Zeitspanne schalten sich zusätzlich die Motoren der Laufwerke ab.

Die unterstützten Energiesparmodi hinterlegt der Hersteller dabei in einer Tabelle in der Firmware der Festplatte. Die Definition der Zeitspannen und die Überwachung der Komponenten übernimmt jedoch das Betriebssystem mithilfe der ACPI-Spezifikationen. Der ursprünglich von Intel entwickelte Standard, die sogenannte ACPI Component Architecture (ACPICA), ist mit leichten Modifikationen in den Linux-Kernel implementiert. Kurze Zeit nach der Veröffentlichung der ACPICA durch Intel publizierte Microsoft jedoch eine eigene, nicht vollständig zu Intels Spezifikation kompatible Variante.

Aufgrund des erdrückenden Übergewichts von Microsoft im Betriebssystemmarkt gingen nahezu alle Hardware-Hersteller dazu über, ihre Komponenten auf Kompatibilität mit Microsofts Spezifikation hin zu testen – Intel blieb in den meisten Fällen außen vor. Da die Hersteller die genauen technischen Spezifikationen ihrer Hardware meist unter Verschluss halten, hatten Linux-Entwickler keine Möglichkeit, das Betriebssystem zügig an die ACPI-Tabellen in der jeweiligen Festplatten-Firmware anzupassen.

Als Folge der teilweisen Inkompatibilität zwischen Intels und Microsofts ACPI-Tabellen treten daher nach wie vor teils völlig aus dem Ruder laufende Energiespareinstellungen beim Festplattenbetrieb auf. Diese äußern sich in einem ständigen Parken der Festplattenköpfe schon nach wenigen Sekunden Inaktivität und einem kompletten Abschalten des Motors nach einer ebenfalls sehr kurzen Zeitspanne. Daher muss das System bei derart falsch eingestellten Sparschaltungen permanent die Motoren wieder anfahren und die Köpfe in Schreib- und Lesepositionen bringen.

Da das Anlaufen eines Motors einen erheblich höheren Energiebedarf verursacht als der normalen Betrieb, macht dieser Effekt den durch die Sparmechanismen angestrebten geringeren Energieverbrauch weitgehend zunichte. Obendrein erhöht sich der Verschleiß der betroffenen Festplatten erheblich, da diese nur für eine bestimmte Anzahl von Parkvorgängen der Köpfe ausgelegt sind – üblicherweise 300 000 bis 600 000. Je öfter die Schreib- und Leseköpfe in die Ruhestellung fahren, desto eher wird dieser Wert erreicht – und in der Folge können sich Datenverluste durch mechanische Schäden einstellen.

Um dem Problem abzuhelfen, bringt Linux einige Werkzeuge mit. Die Anzahl der bereits von einer Festplatte vorgenommenen Parkzyklen der Schreib- und Leseköpfe lässt sich anhand der SMART-Daten auslesen. Hierzu benötigen Sie das Paket smartmontools, das Sie bei nahezu allen Distributionen in den Paketrepositories finden. Um die relevanten Daten zu erhalten, öffnen Sie ein Root-Terminal und geben am Prompt

# smartctl -a /dev/Laufwerk

ein. Sollten Sie in Ihrem System eine ältere PATA-Festplatte betreiben, bei der die SMART-Werte nach Eingabe des obigen Befehls nicht korrekt angezeigt werden, hilft meist der Befehl

# smartctl -d ata -a /dev/Laufwerk

weiter. Der Rechner listet anschließend alle für das aktuelle Laufwerk gespeicherten SMART-Daten auf (Abbildung 3).

Abbildung 3: Alle wichtigen Daten zum Gesundheitszustand der Festplatte listen Sie im Terminal auf.

Suchen Sie nun in der Tabelle Vendor Specific SMART Attributes with Thresholds: in der Spalte ID# den Wert 193 mit der Bezeichnung Load_Cycle_Count und prüfen Sie in dieser Zeile in der rechten Spalte RAW_VALUE den angegebenen ganzzahligen Wert. Je niedriger diese Zahl ausfällt, desto weniger Parkzyklen hat das Laufwerk bislang vollzogen. Sollten hier jedoch bei einer relativ neuen Festplatte bereits hohe fünfstellige oder gar sechsstellige Zahlenwerte stehen, so ist das Laufwerk von den aggressiven Fehleinstellungen des ACPI-Mechanismus betroffen.

Um hier Abhilfe zu schaffen, bietet Linux mit dem Kommandozeilenprogramm Hdparm ein effizientes Mittel zur Änderung der ACPI-Parameter für die Festplatte. Die Software bietet eine Fülle von Parametern, kann jedoch bei falscher Anwendung ein Laufwerk auch zerstören, sodass Sie von Experimenten ohne entsprechendes Hintergrundwissen unbedingt absehen sollten. Sie fragen zunächst die von Linux genutzten Werte für das Parken der Laufwerksköpfe ab, indem Sie als Root im Terminal folgenden Befehl eingeben:

# hdparm -I /dev/Laufwerk | grep "Advanced power management"

Das Programm gibt nun einen Wert zwischen 0 und 255 zurück. Üblicherweise ist bei den meisten Linux-Distributionen im Akkubetrieb der Wert 128 eingestellt, im Netzbetrieb des Notebooks dagegen findet sich oft der Wert 254 (Abbildung 4).

Abbildung 4: Via Hdparm erfahren Sie den derzeit eingestellten Energiesparmodus der Festplatte.

Beide Werte führen bei vielen Festplattenmodellen unabhängig von der Betriebsart zu massiven Parkaktivitäten der Schreib/Leseköpfe. In diesen Fällen sollten Sie das Power Management komplett abschalten, was Sie durch Eingabe des Befehls

# hdparm -B 255 /dev/Laufwerk

erreichen. Ein erneuter Aufruf des Systemstatus zeigt anschließend die Deaktivierung des Parkmechanismus an (Abbildung 5).

Abbildung 5: In dieser Einstellung parken die Festplattenköpfe nicht mehr.

Damit Sie nicht bei jedem Neustart Ihres Notebooks erneut ein Root-Terminal öffnen und die Betriebsparameter der Festplatte umständlich manuell ändern müssen, tragen Sie den Befehl zum Abschalten des Powermanagements des Massenspeichers in die Datei /etc/rc.local ein, die das Betriebssystem beim Start auswertet.

Windiges

Ein weiteres Problem beim Betrieb von Linux auf Notebooks kann durch eine fehlerhaft eingestellte Lüftersteuerung auftreten. Mobile Rechner benötigen aufgrund ihrer kompakten Bauweise und der daraus resultierenden hohen Dichte wärmeerzeugender Bausteine eine besonders gute Kühlung. Große Lüfter jedoch lassen sich in den engen Gehäusen nicht unterbringen, sodass für die Kühlung des gesamten Geräts meistens ein einziger Ventilator in der Nähe der CPU ausreichen muss.

Bei Belastung des Geräts treten insbesondere am Chipsatz, der CPU, dem Grafikprozessor sowie den Speicherbausteinen erhöhte Temperaturen auf. Der Lüfter springt an und steigert ab einer voreingestellten Temperaturschwelle die Drehzahl, um die Abluft aus dem Gehäuse zu transportieren. Dabei berücksichtigt die Steuerung allerdings meist hauptsächlich die Temperaturmeldung des CPU-Sensors – andere Wärmequellen wie etwa der Grafikprozessor bleiben weitgehend außen vor und können leicht überhitzen. Obendrein setzen viele Hersteller die Temperaturschwellen für den Einsatz des Lüfters sehr hoch an, um das Betriebsgeräusch der Systeme gering zu halten.

Die Folge sind in bestimmten Bereichen stark erwärmte Geräte, bei denen Lötkontakte auf den Platinen an exponierten Stellen spröde werden können. Bei zusätzlicher mechanischer Belastung des Gehäuses und der darin befindlichen Platinen, etwa beim Öffnen und Schließen der Oberschale mit dem Display, können auf Dauer sogenannte kalte Lötstellen entstehen. Die dadurch unterbrochenen Lötkontakte äußern sich zunächst in sporadischen, mit der Zeit immer häufiger auftretenden Fehlfunktionen des Notebooks bis hin zum kompletten Ausfall. Dieser als Flexing bezeichnete Effekt lässt sich nur durch einen kostspieligen sogenannten Reflow der Platinen oder durch deren – nicht minder teuren – Austausch beheben.

Um das Problem der – teils bereits während der Garantiezeit auftretenden – Flexing-Schäden in den Griff zu bekommen, verlegten einige Notebook-Hersteller in den letzten Jahren die Lüftersteuerung komplett zurück in das BIOS. In diesen Fällen arbeitet der Ventilator ohne Unterbrechung (meist auf einer relativ niedrigen Drehzahl zwischen 2700 und 3000 rpm) und sorgt somit für eine permanente Kühlung bei nur geringer Geräuschentwicklung. Entsprechend dimensionierte Kühlkörper aus stark wärmeleitendem Metall wie Kupfer sowie Heatpipes unterstützen zudem den Lüfter.

Nahezu alle älteren Systeme bis zur Core-2-Duo-Generation verwenden jedoch noch einen erst bei hohen Temperaturen anspringenden Lüfter. Hier sollte im Sinne einer Verlängerung der Gerätelebensdauer Linux die Steuerung des Ventilators übernehmen. Dazu gibt es viele teils modellreihen- oder herstellerspezifische Zusatzprogramme, die eine feine Justierung der Lüfterdrehzahlen abhängig vom verwendeten Notebook gestatten (siehe Kasten "Lüftersteuerung").

Lüftersteuerung

Neben den im Text beschriebenen Skripten zur Lüftersteuerung gibt es für viele Linux-Distributionen und Notebook-Modelle weitere Programme, die teils auch grafische Oberflächen enthalten. Besonders für Notebooks von IBM und Lenovo finden Sie im Thinkwiki [7] mehrere Alternativen. Auch für Vaio-Notebooks von Sony existiert ein kleines Tool [8]. Für Mobilcomputer von Acer erhalten Sie unter [9] Software und Anleitungen. Für Notebooks von Asus finden Sie ein entsprechendes Paket zur Lüftersteuerung unter [10].

Neuere Geräte ab der Pentium-4- und Centrino-Generation verfügen meist über mehrere Sensoren zur Temperaturüberwachung sowie über Lüfter, die sich per Pulsweitenmodulation [3] ansteuern und regeln lassen. Um diese korrekt erkennen und anpassen zu können, benötigen Sie unter Linux die Pakete lm-sensors und fancontrol. Beachten Sie bitte, dass je nach verwendeter Distribution das Paket zum Auslesen der Temperatursensoren auch lm_sensors heißen kann. Beide Pakete befinden sich bei den Mainstream-Distributionen in den Repositories. Für solche Linux-Derivate, die fancontrol noch nicht im Softwarefundus führen, finden Sie Pakete unter [4]. Manche Distributionen fassen die beiden Pakete auch gleich zusammen.

Nach Installation der Software rufen Sie zunächst im Terminal den Befehl pwmconfig auf. Das Programm führt nun interaktiv unterschiedliche Tests zur Lokalisierung und Anpassung der Lüfter durch, wobei es die gefundenen Ventilatoren zunächst auf die Höchstdrehzahl beschleunigt und anschließend für fünf Sekunden abschaltet. Nach Abschluss der Konfigurationstests fordert die Software Sie auf, Temperatur- und Drehzahlschwellen in Abhängigkeit von den gefundenen Sensoren festzulegen. Hier sollten Sie besonders vorsichtig vorgehen, da die angegebenen Temperaturwerte für das Zuschalten der maximalen Drehzahl des Lüfters meist sehr hoch angesiedelt sind. Informieren Sie sich in diesem Kontext auch, für welche Betriebstemperaturen der Hersteller den Hauptprozessor des Notebooks spezifiziert. Im Zweifelsfall sollten Sie die abgefragten Konfigurationswerte für das Anspringen des Lüfters ab einer Minimaltemperatur sowie die Erhöhung auf die maximale Drehzahl (meist etwa 4500 rpm) bei einer definierten Temperaturschwelle möglichst niedrig ansetzen (Abbildung 6).

Abbildung 6: Pwmconfig führt Sie durch einen Einstellungsdialog.

Nach Abschluss der Eingaben sichern Sie die Konfiguration durch Auswahl des Menüpunkts 4) Save and quit in der Datei /etc/fancontrol. Sofern zukünftig bei jedem Neustart des Systems die Lüftersteuerung automatisch eingeschaltet werden soll, fügen Sie anschließend in die Datei /etc/rc.local die Zeile /usr/sbin/fancontrol ein. Einige Distributionen starten die Software auch wie einen Dienst, sodass sie hier der Datei /etc/rc.local den Eintrag /etc/init.d/fancontrol start hinzufügen müssen.

Fazit

Ein echtes Dream-Team geben Linux und Mobilrechner noch nicht ab. Viele kleine Schwachstellen verhindern eine "ab Werk" einwandfrei konfigurierte Linux-Installation, wobei einige der Probleme eindeutig zu Lasten der auskunftsunwilligen Hardware-Hersteller gehen.

Andererseits erstaunt, dass die Linux-Entwickler das seit Jahren bekannte und vielfach thematisierte ([5],[6]) Problem des viel zu aggressiven Energiesparmanagements bei Festplatten nicht beheben, indem sie die unsinnigen Einstellungen komplett deaktivieren. Ein solch ignorantes Verhalten trägt weder zum guten Ruf des freien Betriebssystems bei, noch animiert es Hardware-Hersteller dazu, den Linux auf ihren Geräten stärker zu unterstützen.

Es bleibt zu hoffen, dass mit der wachsenden Verbreitung mobiler Rechner die Nachfrage nach Linux auf solchen Geräten steigt und mit zunehmender Praxis der Entwickler in diesem Segment eine ähnliche Unterstützung zustande kommt wie bei Desktop-PCs. 

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare