[update] ArchLinux auf Lenovo 3000

Dieser Beitrag soll Erfahrungen, Tips und Tricks bzgl. der Installation und dem Betrieb von Arch Linux (Wikipedia: Arch Linux) auf einem Lenovo 3000 N200 Laptop festhalten und zu Verfügung stellen. Nach 2 Jahren Ubuntu Linux war der Umstieg ein (im Nachhinein absolut lohnenswerter) nötiger Schritt nachdem Ubuntu mit Version Gutsy hier bei gleichbleibenden Softwarepaketen erstens etwas langsamer und instabiler wurde, zweitens die Suspend- und Hibernatemodi des neu angeschafften Lenovo 3000 N200 (noch) nicht unterstützt werden. Ein Hinweis von Slyon zum richtigen Zeitpunkt reichte aus – Arch Linux ist sehr angenehm, die Installation klingt schwieriger als sie wirklich ist – und wenn der Codename mit ‘Don’t panic’ ein Zitat eines meiner Lieblingsautoren enthält muss das ja auch was werden…

(ein Artikel vom CoreBlog)

Inhaltsverzeichnis

1. Probleme

  • Hardware: Lüfter nicht steuerbar
  • Software: Gnome-Drucker-Tray-Icon fehlt?
  • Software: Passwort falsch in system-config-printer (Gelöst)
  • Software: Kein automatischer Fotoimport-Dialog (Workaround)?
  • Software: Kein localepurge?

2. System

Lenovo 3000 N200 Eckdaten

  • 1,5Ghz Core2Duo
  • 2Gb RAM
  • 512Mb NVidia 7300
  • 160Gb Festplatte
  • WLAN Intel 3945ABG

LSPCI

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation G72M [Quadro NVS 110M/GeForce Go 7300] (rev a1)
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
06:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02)
08:06.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
08:06.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
08:06.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 01)
08:06.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 0a)

lsusb

Bus 007 Device 001: ID 0000:0000  
Bus 005 Device 001: ID 0000:0000  
Bus 006 Device 004: ID 04f2:b013 Chicony Electronics Co., Ltd 
Bus 006 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  
Bus 004 Device 003: ID 0a5c:2101 Broadcom Corp. 
Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 003: ID 045e:006a Microsoft Corp. 
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 004: ID 08ff:2580 AuthenTec, Inc. 
Bus 002 Device 001: ID 0000:0000

System

Arch Linux Installation

Die (erstmalige) Installation von Arch Linux mit dem derzeitigen Kernel 2.6.24 habe ich nach dem Beginners Guide (Deutsch)

aus dem Arch Linux Wiki ohne grössere Probleme durchgeführt. In diesem

Guide sind alle relevanten Themen enthalten so dass man nach dem
Durcharbeiten ein lauffähiges System hat auf dem man aufbauen kann.

Grafik/Xorg

Installation nach dem Beginners-Guide im Wiki, keinerlei Probleme
bisher. Die Temperatur der NVidia 7300 beträgt im Normalbetrieb
(Surfen, Schreiben, Email) zwischen 50°C und 62°C lt. lm_sensors und
sensors-applet. Nvidia-Settings sagt dass das dynamische Takten in 3
Stufen auch funktioniert. Auflösung und Frequenzen wurden hier
automatisch erkannt und mussten nicht extra angegeben werden.

Lüfter und ACPI

Das Lüftergeräusch und das Lüfterverhalten ähnelt dem schon für
Ubuntu beschriebenen – nur sind die Lüfter- und Ruhephasen scheinbar
etwas länger. Ist die Temperatur längere Zeit um die 46°C schaltet sich
der Lüfter ab.

Suspend und Hibernate funktionieren nach den Wiki-Angaben für Pm-utils perfekt, das System lässt sich mittels Acpid

auch für Deckel-schliessen=Suspend/Hibernate konfigurieren und wacht
beim Öffnen des Deckels korrekt wieder auf. Bisher sind keine Probleme
nach erfolgtem Aufwachen aufgetreten, auch Lüfter und WLan arbeiten
normal.
Speedstepping funktioniert mit Cpufrequtils wie im Beginners Guide beschrieben ebenfalls (Treiber acpi-cpufreq), wenn auch nur in zwei Stufen – 1000Mhz und 1500Mhz, steuerbar scheint der Lüfter aber nicht zu sein (/proc/acpi/fan ist leer).

Sonder- und FN-Tasten

Die Tasten zur Regelung der Bildschirmhelligkeit funktionieren, ebenso die Suspend-Taste.
Die FN-Kombinationen für Esc/F1/F2 (Mute/Leiser/Lauter) lassen sich unter System->Einstellungen->Tastenkombinationen einrichten, die Spezialtasten am rechten oberen Gehäuserand (ebenfalls für Audio) sind out-of-the-box funktionsfähig.
Die daneben liegende Lenovo-Care-Taste bleibt ohne Funktion, xev gibt auch keinerlei Keycode o.ä. zurück.

Touchpad

Das Touchpad funktioniert in der Arch Linux Grundinstallation

rudimentär, d.h. Mauszeigerbewegung und die 2 tasten funktionieren. Für
Scrolling- und Tapping muss nach dem Wiki der Synaptics-Treiber installiert werden – funktioniert einwandfrei.

Sound

Um den Sound per ALSA zu aktivieren war es nötig die Zeile options snd-hda-intel model=lenovo der Datei /etc/modprobe.conf hinzuzufügen. Nach Reboot und etwas Spielen mit alsamixer wie im Wiki beschrieben hat der Sound dann funktioniert.

Fingerprint-Reader

Der Fingerprint-Reader wird unter Arch Linux eigentlich auch relativ
einfach aktiviert – wenn man weiss wie. Nach längerem Suchen hat es
hier dann folgendermassen funktioniert:

pacman -S libfprint fprint_demo pam_fprint

Installiert den Treiber und das Demoprogramm mit welchem auch

Abdrücke eingelesen werden können. Danach benötigt man eine Gruppe fingerprint der unser Benutzer (man ersetze BENUTZERNAME) auch angehören muss:

groupadd fingerprint
gpasswd -a BENUTZERNAME fingerprint

Jetzt sollte man als normaler Benutzer nach Programmstart mit fprint_demo

Fingerabdrücke einlesen können, IMHO benutze ich hier nur Zeige- und
Mittelfinger der rechten Hand, alles andere artet in Akrobatik und/oder
Fehlersteigerung aus. Die Authentifizierung wird hier für den Befehl su eingesetzt um zum Root-Benutzer zu wechseln, dazu muss die Datei /etc/pam.d/su ergänzt werden und sieht jetzt bei mir folgendermassen aus:

#%PAM-1.0
auth        sufficient  pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth       sufficient  pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth       required    pam_wheel.so use_uid
auth            sufficient      pam_fprint.so
auth            sufficient      pam_fprint.so
auth            sufficient      pam_fprint.so
auth        required    pam_unix.so
account     required    pam_unix.so
session     required    pam_unix.so

Neu sind die drei pam_fprint.so-Zeilen, durch
sie wird vor der standardmässigen Passwortabfrage beim Benutzerwechsel
im Terminal erst 3 Mal versucht einen Abdruck einzulesen.

Webcam

Die Webcam war relativ einfach zu aktivieren – Treiber installieren,
Treiber laden, mit Skype->Optionen->Video testen->funktioniert.

pacman -S linux-uvc-svn
modprobe uvcvideo

Damit der Treiber auch zukünftig beim Neustart geladen wird muss er noch in der Datei /etc/rc.conf der MODULES-Zeile hinzugefügt werden, das sieht dann (in gekürzter Version) so hänlich aus wie hier:

MODULES=(tg3 iwl3945 snd-mixer-oss snd-pcm-oss snd-hwdep snd-page-alloc snd-pcm snd-timer snd snd-hda-intel soundcore acpi-cpufreq evdev psmouse uvcvideo usblp)

USB-Stick

Kein Problem. Wird automatisch mit Desktop-Icon und Dateimanagerfenster gemountet.

Digitalkamera

Eine Fuji F31fd wird automatisch gemountet, allerdings erscheint nicht wie gewohnt ein Import-Dialog (ist gnome-volume-manager-gthumb
eine Ubuntu-Eigenkreation?). Der Bilderimport muss im Programm gThumb
händisch gestartet werden, funktioniert dann allerdings auch wie
gewohnt.

Zur Vereinfachung habe ich ein kurzes Script eingebaut (Code

irgendwo im Netz (Ubuntuforum?) gefunden, leider habe ich den Link
nicht mehr) und als /usr/bin/gnome-vomume-manager-gthumb gespeichert und unter System->Einstellungen->Wechseldatenträger und medien>Kameras den Programmaufruf gnome-volume-manager-gthumb %h eingetragen, nun wird direkt beim Einstecken der Kamera der automatische Importdialog gestartet. Das Script:

#!/bin/sh
MOUNT_POINT=$(hal-get-property --udi "$1" --key volume.mount_point)
if test -z "$MOUNT_POINT"; then
  gthumb --import-photos
fi

Drucker

Der Betrieb eines USB Druckers (Brother HL 2030 Laser) verläuft mit
Cups einigermassen problemlos. Einzig das Drucker-Icon während der
Abarbeitung eines Auftrages erscheint nicht in der Notification-Area,
Fehlermeldung per Terminal:

system-config-printer-applet: failed to start NewPrinterNotification service

(applet.py:5393): libglade-WARNING **: could not find glade file './applet.glade'

Traceback (most recent call last): File "/usr/share/system-config-printer/applet.py", line 1036, in service_running=service_running, trayicon=trayicon) File "/usr/share/system-config-printer/applet.py", line 178, in init self.xml = gtk.glade.XML
RuntimeError: could not create GladeXML object

Als Root-Benutzer erscheint diese Fehlermeldung nicht, nur der Hinweis dass keine dbus-Verbindung zustande kommen konnte:

libnotify-Message: Unable to get session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
system-config-printer-applet: unable to initialize pynotify
system-config-printer-applet: failed to connect to session D-Bus

Software

Wine/IEs4Linux

Zwecks Webentwicklung/Anzeigekontrolle betreibe ich gerne die IEs in
Version 6 und 7 unter Wine, damit das reibungslos funktioniert (unter
manchen Wine-Versionen funktioniert die Eingabe in die Adresszeile des
IE6 nicht, in anderen Versionen benötigt der IE7 eine Ewigkeit zum
Laden einer Localhost-Seite, wieder andere Versionen brechen den
Build-Prozess mit Fehlermeldung ab) ist für mich eine bestimmte
Wine-Version nötig, als funktionstüchtig erwiesen hat sich die Version
0.9.35.

Wine

Um diese Version zu installieren habe ich ein PKGBUILD angepasst
welches ich irgendwo in den Weiten des ArchLinux-Forums gefunden habe –
Version geändert und MD5-Checksumme auskommentiert – Geschmackssache,
aber diesem Paket vertraue ich persönlich. Da das angepasste PKGBUILD
noch leichte Probleme (siehe unten) macht wäre ich über Informationen
zur Korrektur dankbar.

# $Id: PKGBUILD,v 1.51 2008/01/14 21:34:16 dale Exp $
  1. Maintainer: Dale Blount
  2. Contributor: Matt Smith (Majik)

    pkgname=wine
    pkgver=0.9.35
    pkgrel=1
    pkgdesc="Emulator of the Windows 3.x and Win32APIs"
    url="http://www.winehq.com"
    arch=('i686')
    license=('LGPL')
    depends=('freetype2' 'fontconfig' 'libjpeg' 'libungif' 'alsa-lib' 'glut' 'libldap' 'libxslt' 'lcms' 'libxxf86dga' 'freeglut' \ 'libxinerama' 'libxcursor' 'libxrandr' 'libxrender' 'libxdamage')
    makedepends=('alsa-lib' 'sane' 'fontforge' 'flex' 'bison')
    source=(http://easynews.dl.sourceforge.net/sourceforge/wine/wine-$pkgver.tar.bz2)


md5sums=('d022a25118dad2aced90a178e283b66a')

build() {

cd $startdir/src/$pkgname-$pkgver ./configure --prefix=/usr --sysconfdir=/etc --enable-opengl --with-x make depend || return 1 make || return 1 make prefix=$startdir/pkg/usr install || return 1 # expand conflicts with textutils ( doesn't exist anymore? ) # mv $startdir/pkg/usr/bin/expand $startdir/pkg/usr/bin/wine-expand || return 1 mkdir -p $startdir/pkg/etc/wine # mkdir -p $startdir/pkg/etc/profile.d # cp r $startdir/src/$pkgname$pkgver/documentation/samples $startdir/pkg/etc/wine
}

Falls noch nicht geschehen sollte man noch das Paket base-devel installieren:

 pacman -Sy base-devel

Das Paket wird nun gebaut und installiert, leider musste ich das Compilieren als root durchführen da makepkg sonst mit einer fakeroot-Fehlermeldung abbrach:

makepkg --asroot

Die Installation mit

pacman -U wine-0.9.35-1-i686.pkg.tar.gz

funktioniert, liefert aber einige Warnungen:

Warnung: Verzeichnis-Berechtigungen unterscheiden sich für etc/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/lib/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/share/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/include/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/bin/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/share/man/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/share/applications/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/share/aclocal/
Dateisystem: 755 Paket: 2755
Warnung: Verzeichnis-Berechtigungen unterscheiden sich für usr/share/man/man1/
Dateisystem: 755 Paket: 2755

Trotzdem funktioniert Wine 0.9.35 in Verbindung mit IEs4Linux’ IE6

und IE7 nun prächtig. Falls jemand eine Idee hat warum das Bauen als
normaler Benutzer mit fakeroot nicht funktioniert
und/oder wie ich das Paket sauberer ohne Warnungen installiere bitte
ich um einen kurzen oder auch längeren Kommentar.

4. Theme

Dieser Teil wird nun die wenigsten Besucher interessieren, hier füge
ich einfach eine kleine Linkliste bzgl. Theme und Wallpaper an um bei
Bedarf wieder alles beieinander zu haben.

Wallpaper

GNOME HD oder
Sunset Bliss 2

Metacity

Deviant Metacity

Icons

Tango Generator-generiertes Icontheme

Cursor

DMZ

6. Fazit

Kurz gesagt – Arch Linux auf einem Lenovo 3000 N200 macht Spass. Die
Einrichtung ist definitiv aufwändiger als bei beispielsweise Ubuntu,
jedoch nicht so schwierig wie erwartet. Mit etwas Terminalerfahrung und
Grundkenntnissen was Partitionen, Daemons und Module angeht und nicht
zuletzt dank dem sehr ausführlichen und informativen Wiki ist das
Einrichten mit etwas Zeitaufwand gut machbar. Als Belohnung erhält man
ein schnelles, gut reagierendes Linuxsystem das Spass macht.
Ehrlicherweise muss man sagen dass es natürlich auch zu Problemen
kommen kann – nächster Schritt wären dann (für mich zumindest) die Arch
Linux Foren (en/de). Aber zuerst mal selber basteln – muss ja auch Spass machen…

7. Versionen

  • 19.02.2008, V.0.3, Druckerkonfiguration/Passwort-Lösung
  • 18.02.2008, V.0.2, Strukturänderungen, Markup-Bugfixes
  • 18.02.2008, V.0.1, erste Version

Dieser Artikel satmmt vom CoreBlog, von Cywhale

8. Updates

iwl4965 wifi LED

Bei Kernel-Versionen die niedriger als linux-2.6.26 sind, funktioniert die Wifi LED-Leuchte an der Front des Notebooks nicht. Hierfür gibt es jedoch ein kleines Workaround… Man kann sich das Paket compat-wireless aus dem AUR installieren (link). Dieses patcht den iwl4965 Treiber im Linux-Kernel auf den aktuellen stand. Ggf. muss die Variable pkgver des PKGBUILD auf die aktuell vorliegende Version angepasst werden. Falls dies getan wird, muss natürlich auch der passende md5-hash in das PKGBUILD eingetragen werden.

SD-Cardreader funktioniert

Der eingebaute SD-Kartenleser funktioniert nun (vermutlich seit Kernel Version 2.6.25) auch out-of-the-box. Dies habe ich durch Zufall bemerkt.

3 thoughts on “[update] ArchLinux auf Lenovo 3000”

  1. […] Statt eines Lenovo N200 arbeite ich seit einiger Zeit mit einem Acer Travelmate C111. Der Artikel über das o.g. Notebook kann daher von mir nicht mehr betreut und aktualisiert werden, daher gebe ich ihn mit Freude an einen Arch Linux-Benutzer und Besitzer dieses Gerätes ab der ihn weiterhin zu Verfügung stellen wird. Zu finden ist der Beitrag unter diesem Link. […]

  2. Hui.. Das Lesen macht wirklich Lust, ArchLinux selbst mal zu probieren.. heute keine Zeit mehr aber Morgen werd ich mich mal daran versuchen 😉

Comments are closed.