Benutzer-Werkzeuge

Webseiten-Werkzeuge


computer:linux:archlinux_auf_dem_eee_701g

Dieser Artikel ist veraltet. Einige Dinge könnten mittlerweile nicht mehr so funktionieren, wie in diesem Artikel beschrieben.

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

Einen ausführlichen Artikel über Journalling gibt es hier.

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:

  • netcfg
  • 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 nicht das Realtek-Paket bei der Installation 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/network.d/profiles/example/wireless-wpa /etc/network.d/profiles/zuhause
 # nano zuhause
 ...
 # netcfg zuhause

Sound

Um den Sound zu benutzen muss noch der Soundserver ALSA installiert werden:

 # pacman -S alsa-lib alsa-utils
 # alsamixer
 ...
 # alsactl store
 # /etc/rc.d/alsa restart

In der Regel wird die Karte automatisch konfiguriert und die Lautstärke kann sofort mit dem Mixer konfiguriert werden, ist dies nicht der Fall hilft ein:

 # alsaconf

Nach der Einstellung der Lautstärke wird die Konfiguration als Standard-Konfiguration gespeichert und der Daemon neu gestartet.

Töne sollten nun wiedergegeben werden können:

 # aplay /usr/share/sounds/alsa/Noise.wav

Damit die Soundumgebung auch beim Booten automatisch geladen wird, ist ein Eintrag in die Daemon-Liste der '/etc/rc.conf' notwendig:

 DAEMONS=(... alsa ...)

Benutzer, die die Soundumgebung nutzen sollen, müssen Mitglied der Gruppe 'audio' sein:

 # gpasswd -a BENUTZERNAME audio

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

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

LXDE-Desktop

Nun muss der LXDE-Desktop installiert werden. Kurioserweise installiert pacman derzeit den Fenstermanager openbox nicht automatisch mit. Dieser muss manuell dazu installiert werden, da Fenster ansonsten keine Rähmen haben und auch kein Mauszeiger zur Verfügung steht:

 # pacman -S lxde openbox obconf

'obconf' ist ein optionales Paket und bietet die Möglichkeit, das Aussehen und Handeln des Fenstermanagers an die eigenen Wünsche anzupassen.

Benutzerkonto und .xinitrc

Nun sollte ein Benutzerkonto für nicht-administrative Aufgaben angelegt werden:

 # adduser

Die Datei '.xinitrc' (grafisches Autostart-Skript) dieses Benutzers muss angepasst werden, damit LXDE nach dem Einloggen zur Verfügung steht:

 #!/bin/sh
 exec ck-launch-session startlxde

'ck-launch-session' wird hier benötigt, damit später mit DBus/HAL externe Medien, wie Speicherkarten und USB-Sticks, mit normalen Rechten gemoutet werden können.

Zusätzliche Dienste

Damit Sticks und Karten auch von einem normalen Benutzer gemountet werden können, müssen die Dienste 'portmap', 'dbus' und 'hal' installiert und gestartet werden:

 # pacman -S portmap dbus hal gamin

Diese Dienste sollten in der '/etc/rc.conf' als Start-Daemons definiert werden:

 DAEMONS=(... portmap dbus hal ...)

Der Benutzer muss nun noch zwei Gruppen hinzugefügt werden, damit er Medien mounten darf:

 # gpasswd -a BENUTZERNAME optical
 # gpasswd -a BENUTZERNAME storage

Für Schreibzugriff auf NTFS-Medien ist noch das NTFS-3G Framework notwendig:

 # pacman -S ntfs-3g

Letztendlich muss in der Datei '/etc/pam.d/login' noch folgende Zeile eingefügt werden:

 session                     optional                   pam_ck_connector

Herunterfahren, etc...

Damit der Benutzer den Rechner auch herunterfahren, neustarten und in den Ruhezustand versetzen kann, muss er Mitglied der Gruppe 'power' sein:

 # gpasswd -a BENUTZERNAME power

Sollte das alleine nicht reichen und der Rechner nicht herunterfahren, wenn der entsprechende Button dazu gedrückt wird, muss die Datei '/etc/PolicyKit/PolicyKit.conf' editiert werden. Zwischen den Tags <config> und </config> müssen folgende Zeilen eingefügt werden:

 <match action="org.freedesktop.hal.power-management.shutdown">
    <return result="yes"/>
 </match>
 <match action="org.freedesktop.hal.power-management.reboot">
    <return result="yes"/>
 </match>

Nach dem Speichern der Datei und dem Neustart des HAL-Daemons

 # /etc/rc.d/hal restart

sollte das Problem nun der Vergangenheit angehören.

SLiM

Als Login-Manager stehen hier verschiedene Möglichkeiten zur Verfügung, ich habe mich für 'slim' entschieden, da dieser Manager ein Kompromiss zwischen Optik und Leistung ist:

 # pacman -S slim

Die Konfigurationsdatei '/etc/slim.conf' kann noch ein wenig angepasst werden:

 hidecursor          false
 ...
 daemon  yes
 ...
 sessions            lxde
 ...
 welcome_msg         Willkommen!
 ...
 session_msg         Sitzung:
 ...
 shutdown_msg       Herunterfahren...
 reboot_msg         Neustart...
 ...
 default_user        **ihr Benutzername**

Anschließend empfiehlt es sich, 'slim' in der '/etc/rc.conf' in die Daemon-Liste einzutragen, wenn SLiM automatisch beim Start geladen werden soll:

 DAEMONS=(syslog-ng network ... slim)

Software

Nun muss lediglich noch die Anwendersoftware installiert werden:

Firefox

 # pacman -S firefox firefox-i18n

Thunderbird

 # pacman -S thunderbird thunderbird-i18n

OpenOffice

 # pacman -S openoffice-de

Packer

 # pacman -S xarchiver unzip zip unrar

TrueCrypt

 # pacman -S truecrypt

Das Modul fuse wird benötigt, es wird in der '/etc/rc.conf' der Modulliste hinzugefügt:

 MODULES=(... fuse)

Medienplayer und Codecs

 # pacman -S vlc libdvdcss xvidcore
 # pacman -S gstreamer0.10-bad gstreamer0.10-bad-plugins gstreamer0.10-good gstreamer0.10-good-plugins gstreamer0.10-ugly
 # pacman -S gstreamer0.10-ugly-plugins gstreamer0.10-base gstreamer0.10-base-plugins gstreamer0.10-ffmpeg

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:

computer/linux/archlinux_auf_dem_eee_701g.txt · Zuletzt geändert: 2012/03/02 14:45 von christian