Asus EEE PC 701G

Aus wiki.archlinux.de
Wechseln zu: Navigation, Suche
EEE 701G mit ArchLinux

Auch wenn der 701G von Asus ein älteres Netbook ist (es war das erste des Netbook-Hypes!), kann man es durchaus noch mit aktueller Software benutzen.

Das vorinstallierte Xandros Linux richtet sich eher stark an Anfänger und Schüler/Kinder, weswegen das Betriebssystem den Ansprüchen von fortgeschrittenen Benutzern nicht gerecht wird, zu schwer ist es, das Software-Repertoire zu erweitern, der KDE-Desktop gefällt nicht, und, und, und.

Zeit für ein neues Betriebssystem - insbesondere ArchLinux eignet sich für dieses Netbook gut, da es eine ressourcenschonende Distribution ist.

Installation

Dieser Artikel bezieht sich auf ArchLinux in der Version 2009.02, ältere Installationen sind für den EEE 701G etwas problematischer, da die Treiber für Ethernet und WLAN selbst manuell installiert werden müssen. Allerdings gibt es auch einen speziellen Kernel hierfür. Im internationalen ArchLinux-Forum gibt es darüber einen langen Artikel (siehe Internetverweise).

Bei der Wahl des Installationsmediums gibt es zwei Möglichkeiten - das ISO kann entweder als CD gebrannt oder auf einen USB-Stick verbannt werden. Ich habe hier einfach ein externes CD-Laufwerk angeschlossen, und beim Booten dieses Laufwerk als Start-Medium ausgewählt (ESC-Taste für Boot-Menü drücken).

Partionierung

Im EEE PC ist eine so genannte solid-state disc verbaut. Diese unterscheidet sich von einer herkömmlichen Festplatte insofern, dass keine mechanischen Bauteile, wie Motoren oder Speicherscheiben vorhanden sind - vielmehr ähnelt der Aufbau dieser SSD (Kurzform) dem einer Speicherkarte, mit dem Unterschied, dass die Geschwindigkeit und Performance um einiges höher und "besser" ist.

Jedoch ist die Lebenszeit einer SSD, ebenso wie die einer Speicherkarte, beschränkt - sie hat ebenfalls nur eine beschränkte Anzahl an Speicherzugriffen. Sind diese Zugriffe erschöpft, kann die SSD nicht mehr verwendet werden.

Dieser Prozess ist unausweichlich und nicht vermeidbar, jedoch können wir die Zeit, bis dieser "Tod" der SSD eintritt, verlängern.

Daher ist es wichtig, entweder kein Journalling-Dateisystem zu verwenden, oder das Journal einzuschränken, oder zu deaktivieren. ext2 wäre ein Linux-Dateisystem, ohne Journal-Funktionalität, allerdings auch ohne jegliche Wiederherstellungsoptionen. Stürzt der EEE ab, sind ggf. Daten beschädigt und können im Fehlerfall nicht wiederhergestellt werden. Das ist schlecht.

Meines Erachtens nach ist ext4 wohl die beste Wahl. Das ist zwar ein Journalling-Dateisystem, jedoch kann man dieses einschränken (dazu kommen wir später!). ext4 ist derzeit das neueste und jüngste Dateisystem, es ist eine Weiterentwicklung des ext3- und ext2-Dateisystems. Es bietet höhere Geschwindigkeiten und mehr Datensicherheit.

ext4 bietet sowohl Full- als auch Metadaten-Journalling - die Verwendung eines Metadaten-Journals ist zwar keineswegs so sicher wie ein Full-Journal, ist aber auch viel sicherer als die Verwendung eines alten non-Journal Dateisystems, wie ext2 beispielsweise. Später wird in diesem Artikel die Umstellung von ext4 auf reines Metadaten-Journalling erläutert.

Wichtig ist es außerdem, keine Auslagerungsdatei (Swap auch genannt) anzulegen. Bei einer intelligenten Software-Auswahl ist diese nicht notwendig, ferner schränkt das Verwenden einer Auslagerungsdatei die Lebenszeit der SSD ein, da durch die Prozessdaten-Auslagerung viele Zugriffe stattfinden.

Paket-Auswahl

Bei der Installation besteht die Möglichkeit einer manuellen Paketauswahl, diese gilt es zu nutzen, da hier unnötige Pakete entfernt können, um Speicherplatz einzusparen. Insbesondere bei Modellen, die nur über wenig Speicher, wie dem 701G, etwa beispielsweise 4 GB verfügen, ist dies sehr wichtig.

Enfernt werden können:

  • acl
  • dash
  • jfsutils (nur, wenn kein jfs als root-Dateisystem verwendet wird!)
  • lvm2
  • mailx
  • mdadm
  • pcmciautils
  • ppp
  • reiserfsprogs (nur, wenn kein reiserfs als root-Dateisystem verwendet wird!)
  • rp-pppoe
  • xfsprogs (nur, wenn kein xfs als root-Dateisystem verwendet wird!)


Ferner müssen einige Pakete jedoch auch hinzugefügt werden:

  • netctl
  • inetutils
  • madwifi und madwifi-utils
  • wireless_tools
  • wlan-ng26-utils
  • wpa_supplicant


Die eigentliche Installation der Pakete findet nun statt und sollte binnen weniger Augenblicke geschehen.

Hardware-Konfiguration

Während bei vorherigen ArchLinux-Versionen mit einem speziellen Kernel herumexperimentiert werden musste, wird im aktuellen Release von ArchLinux die komplette Hardware des EEE 701G's unterstützt. Auch die drahtlose Netzwerkkarte ist sofort nach der Installation einsatzbereit.

Wireless LAN

Wurde das Realtek-Paket bei der Installation nicht vergessen, wird die WLAN-Schnittstelle unterstützt und kann sofort konfiguriert werden.

Netzwerkprofile werden in /etc/network.d/profiles gespeichert, im Unterordner examples/ sind schon einige Beispiele vorhanden, die einfach verwendet werden können um ein eigenes Profil zu erstellen.

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/zuhause
# nano zuhause
...
# netctl start zuhause

Software-Installation

Auf Dauer mit einem Konsolen-System zu arbeiten ist sicherlich nicht jedermanns Sache, daher wird hier noch einiges an Software dazu installiert.

System-Updates

In aller Regel empfiehlt es sich, alle Updates zu installieren:

# pacman -Syu

Sollte pacman zuerst aktualisiert werden wollen, so muss dies bejaht werden.

Nach der Installation kommt es manchmal vor, dass weitere Installationsvorgänge fehlschlagen, in einem solchen Fall muss die Datei /etc/pacman.d/mirrorlist überprüft werden, wahrscheinlich ist einfach kein Server ausgewählt worden. Bitte mindestens einen Server in geografischer Nähe aktivieren.

X-Server

Der X-Server ist für die grafische Ausgabe zuständig, er ist nach der Grundinstallation noch nicht vorhanden und muss nachinstalliert werden:

# pacman -S xorg

Danach fehlen noch einige Eingabe-Treiber (aus welchen Gründen auch immer!), ebenso wie der Intel-Grafiktreiber. Sie müssen ebenfalls nachträglich installiert werden:

# pacman -S xf86-input-keyboard xf86-input-mouse xf86-video-intel-legacy

Hinweis: Hier muss unbedingt der Legacy-Treiber benutzt werden, da der Standard Intel-Treiber beim Drehen des Bildschirms Grafikfehler verursacht!


xorg.conf

Ist der X-Server installiert, muss eine Konfigurationsdatei erstellt werden. X kann die Hardware erkennen und eine simple Konfigurationsdatei erstellen:

# X -configure

Die angelegte Datei xorg.conf.new muss nun in das Konfigurationsverzeichnis /etc/X11 verschoben und anschließend editiert werden:

# mv xorg.conf.new /etc/X11/xorg.conf
# nano /etc/X11/xorg.conf

Folgende Bereiche müssen aktualisiert/modifiziert werden:


Tastatur

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option      "XkbLayout" "de"
        Option      "XkbVariant" "nodeadkeys"
        Option      "XkbModel" "pc105"
EndSection

Maus/TrackPoint

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mouse1"
        Option      "ZAxisMapping" "4 5 6 7"
        Option      "EmulateWheel" "true"
        Option      "EmulateWheelButton" "2"
EndSection

Intel-Grafikkarte

Section "Device"
        Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Mobile 915GM/GMS/910GML Express Graphics Controller"
        BusID       "PCI:0:2:0" #ggf. lspci beachten
EndSection

TFT-Auflösung

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "800x480"
        EndSubSection
EndSection

Fehlerbehebung

Damit der X-Server überhaupt beim Starten Tastatur und Maus findet, musste ich folgende Optionen im ServerFlags-Bereich hinzufügen:

Section "ServerFlags"
        Option "AutoAddDevices" "false"
        Option "AutoEnableDevices" "false"
        Option "AllowEmptyInput" "false"
EndSection


Tuning und Power-Ups

Durch ein wenig Tuning kann man den EEE ein wenig "entschlacken" und so die Geschwindigkeit und Lebenszeit erhöhen.

ext4-Metajournal

ext4 lässt sich durch Abändern eines Eintrags in der /etc/fstab durchaus zu mehr Performance bewegen:

#UUID=[...] / ext4 defaults 0 1
UUID=[...] / ext4 noatime,barrier=0,nobh,commit=100,nouser_xattr 0 1

Zu einigen Optionen kurz die Erläuterungen:

  • noatime deaktiviert das Speichern von Zeitzugriffsinformationen die benötigt werden können, um auf Linux-Systemen Überschreibungen zu unterbinden.
  • barrier=0 beschleunigt das ext4-Medium enorm
  • commit definiert den Zeitintervall, nach welchem das Journal auf die Festplatte geschrieben wird, je länger diese Zeit ist, desto länger ist die Lebensdauer der SSD, allerdings sollte die Zeit auch nicht zu lange sein, da im Fehlerfall nach dem Neustart sonst Daten inkonsistent sein könnten. Die schlimmste Folge wäre ein defektes Dateisystem.
  • nouser_xattr deaktiviert erweiterte Benutzer-Attribute, welche auf einem Netbook wohl in den seltesten Fällen benutzt werden.

Daemons

Je nachdem wie man das Notebook benutzt, kann man den ein oder anderen Daemon in der /etc/rc.conf deaktivieren:

  • network - Netzwerkkonfiguration aus der /etc/rc.conf
  • netfs - network file system, nfs.
  • crond - Wenn keine geplanten Tasks benötigt werden
  • syslog-ng - Wenn keine Logfiles benötigt werden - Achtung!, bei Fehlerfällen kann so nicht mehr rekonstruiert werden

Swappiness

Wenn der Arbeitsspeicher des Notebooks groß genug ist, kann man die Swappiness auf 0 setzen, die Swap (Auslagerungsdatei) wird dann nur verwendet, wenn der RAM zu Überlaufen droht. Ansonsten nicht. Das bringt mehr Speed ein, da der RAM um einiges schneller ist, als die Festplatte. Hierfür muss lediglich die Datei /etc/sysctl.conf um folgende Zeile erweitert werden:

vm.swappiness=0


Pacman-Cache

Nach der wilden Installationsorgie empfiehlt es sich, den Pacman-Cache zu löschen. Dort befinden sich noch viele temporäre Dateien, die unnötigen Speicherplatz belegen:

# pacman -Scc

Puffer-Verzeichnis: /var/cache/pacman/pkg/
Möchten Sie ALLE Pakete aus dem Puffer entfernen?  [j/N] j
Entferne alle Pakete aus dem Puffer... Fertig.
Datenbank-Verzeichnis: /var/lib/pacman/
Möchten Sie ungenutzte Repositorien entfernen?  [J/n] j
Datenbank-Verzeichnis wurde aufgeräumt

Internetverweise

Weitere Verweise im Internet, passend zu diesem Thema: