ArchLinux auf einem MacBook: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
(veraltet (noch rc.conf), artikelstil, syntax)
(27 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Artikelstil}}{{Veraltet}}
==Einleitung==
==Einleitung==
 
Da ich 2008 ein neues MacBook ergattert habe, und zu dieser Zeit noch keine Anleitung im Netz für Archlinux fand, wollte ich der Community ein wenig zurückgeben, und habe diesen kleinen Leitfaden geschrieben. Ich habe diesen Artikel (Stand 25.04.11) nun überarbeitet, da die ganzen Links, etc. down waren und die Konfiguration noch auf teils älterer Software basierte.
Wie wir alle wissen vermag ArchLinux auf älteren Rechnern schneller, flexibler und stabiler zu laufen. Auf einem neuen MacBook aus dem Frühjahr 2008 kann man schon garnicht mehr von "laufen" sondern eher von "fliegen" sprechen, wobei das auch nicht der Wahrheit entspricht, denn nur das OS mit dem Fenster fliegt, weshalb es auch immer abstürzt.. Nun hatte ich vor, ein kleines Howto zu schreiben, wie man ArchLinux auf einem MacBook installiert. Ich habe bei mir nur Arch64 darauf eingesezt, da man den daraus bildenden Geschwindigkeitsvorteil enorm spürt. (Vergleich zwischen den UDEV Initialisierungswerten [die beim Booten]: Arch32, Vanilla Kernel: 1100ms; Arch64, Vanilla Kernel: 640ms)
 
==ArchLinux 32-Bit==


===Grundinstallation===
===Grundinstallation===
ArchLinux wird auf einem MacBook wie gewöhnlich installiert. Worauf Ihr achten solltet, wenn man Mac OS noch auf der ersten Partition hat, ist, dass cfdisk nicht mit GPT Partitionen arbeiten kann (offiziell). Es kommt eine Meldung, die man mit yes und Enter umgehen kann, ich hatte bisher (3 Installationen) noch keinen Datenverlust, jedoch würde ich euch zu einer Datensicherung der Mac OS Partition raten. Wichtig ist, dass man Mac OS X vorher schon auf einer kleinen Partition installiert. Ich habe 50% Mac OS X und 50% Linux (75GB Mac OS, 75GB Linux). Meiner Meinung nach ist Mac OS nach einer Erfolgreichen ArchLinux Installation vollkommen unnötig. Ich habe aber unter Mac OS rEFIt installiert, um eine angenehme Betriebssystemauswahl beim Booten zu haben, was man natürlich auch unter Linux kann. Wenn cfdisk geladen ist, erstellen wir im freien Plattenplatz eine Partition und formatieren diese mit ext3 oder einem anderen von rEFIt unterstützten Dateisystem und verwenden diese Partition (meist /dev/sda3) als ROOT (/). Nun ist die Installation des Grundsystems wie jede andere von ArchLinux auch. Ich empfehle euch als Bootloader [[Grub|GRUB]].
Ich habe Arch64 wie gewöhnlich installiert. Worauf Ihr achten solltet, wenn man Mac OS noch auf der ersten Partition hat, ist, dass cfdisk nicht mit GPT Partitionen arbeiten kann. Ich würde euch empfehlen, die Partitionierung von z.B. einer gparted-Livecd vorzunehmen. Eine Partitionierung mittels cfdisk über den Installer ist allerdings auch möglich, wenngleich ich auch zur Datensicherung raten würde. Wichtig ist, dass man Mac OS X vorher schon auf einer kleinen Partition installiert. Ich habe 25GB Mac OS X und 100GB Linux. Meiner Meinung nach ist Mac OS nach einer erfolgreichen Archlinux Installation ohnehin nur noch für den Bootloader zu brauchen. Ich habe aber unter Mac OS X GRUB2 installiert, um Dualboot mit OSX machen zu können. Wenn cfdisk geladen ist, erstellen wir im freien Plattenplatz '''zwei''' Partitionen und formatieren / mit einem beliebigen FS (EXT2/3/4,XFS,BTRFS,etc.) und erstellen eine beliebig große (Ich verwende 1GB) SWAP-Partition am Ende der Festplatte.
 
===Vanilla Kernel  (Achtung, nicht getestet!)===
Wichtig ist, dass man bevor man die GUI oder andere Programme installiert sich zuerst den Kernel selber "bäckt" bzw. kompiliert, da dann in Gnome der Standby/Ruhezustand auf Anhieb funktioniert. Das geht folgendermaßen ab:
 
Man installiert sich die Pakete make und gcc, falls nicht schon installiert.
 
  pacman -Sy make gcc
 
Man lädt sich die aktuellen Kernel Sources von kernel.org und entpackt sie nach /usr/src:
 
  cd /usr/src
  wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2
  tar -xvf linux-2.6.27.tar.bz2
  ln -s linux-2.6.27 /usr/src/linux
  cd linux/
 
Jetzt könnten wir zur einen Seite unseren Kernel manuell konfigurieren, oder Ihr nehmt meine .config. Die ladet Ihr einfach nach /usr/src/linux. Am besten mit wget:
 
  wget http://nathanhi.pytalhost.net/_.config -O .config
 
Das -O .config überschreibt eine schon vorhandene .config. Nun müssen wir den Kernel kompilieren und die Module bauen lassen.
 
  make && make modules_install && cp arch/x86/boot/bzImage /boot/linux
 
Nun machen wir uns schnell einen Kaffee, denn in exakt 7 Minuten sollte der Kernel fertig sein. Anschließend wird der Kernel nach /boot/linux kopiert. Nun gehen wir in das /boot/grub Verzeichnis und ersetzen die darin enthaltene menu.lst mit meiner:
 
  cd /boot/grub
  wget http://nathanhi.pytalhost.net/menu.lst -O menu.lst
 
Jetzt wird standardmäßig der selber gebackene Kernel gebootet. Nun wird es Zeit, die /etc/rc.conf zu bearbeiten. Eure MODULES-Line sollte wie folgt aussehen:
 
  MODULES=(usbcore ehci_hcd ohci_hcd uhci_hcd usblp usb-storage usbhid appletouch snd-hwdep snd-hda-intel uvcvideo isight_firmware ndiswrapper)
 
Jetzt noch schnell einen Neustart machen und hoffen, dass alles geht, einige Module konnten bestimmt nicht geladen werden, aber das lösen wir in den späteren "Kapiteln".
 
===Swapfile===
 
Da wir keine Swap-Partition erstellen konnten, tun wir das jetzt, jedoch in eine Datei, vergleichbar mit einer Auslagerungsdatei unter dem OS, das fliegen kann.
 
  dd if=/dev/zero of=/swapfile bs=1M count=512    ('''erstellt ein 512MB großes Swapfile''')
  mkswap /swapfile
  swapon /swapfile
 
Jetzt müssen wir noch folgende Zeile (an das Ende) in die /etc/fstab hinzufügen:
 
  /swapfile swap swap defaults 0 0
 
===Sound===
 
Um den Sound an einem MacBook ans laufen zu bringen vermag es ein wenig Magie, da im MacBook eine Intel HD Audio verbaut ist, und die, wie wir alle wissen von zu vielen Hardwareherstellern vertrieben wird, und jede anders funktioniert. Das Geheimnis lässt sich recht schnell lösen. Zuerst müssen wir alsa-utils installieren, um alsaconf ausführen zu können.
 
  pacman -S alsa-utils
 
Nun führen wir alsaconf aus und wählen Intel HD Audio aus. Anschließend fügen wir in die /etc/modprobe.d/sound folgende Zeile am Ende hinzu:
 
  options snd-hda-intel model=mbp3
 
Da ansonsten der Sound garnicht bis sehr leise hörbar wäre.
 
===iSight===
 
Um iSight, die integrierte Webcam im MacBook ans laufen zu bekommen, bedarf es etwas Geduld und Zeit. Als erstes brauchen wir folgendes Tool aus dem AUR: Die ift-tools. Da die ift-tools einiges an Abhängigkeiten haben, müssen wir ein paar Pakete aus dem AUR installieren:


====Info2Man====
===Bootloader===
====Methode 1: rEFIt====
Entweder einfach die rEFIt LiveCD als "Bootloader" nutzen, welcher wiederum GRUB lädt (bitte selbst installieren), oder rEFIt unter Mac OS X installieren. ([http://refit.sourceforge.net/]).


  cd /usr/src
====Methode 2: GRUB2====
  wget http://aur.archlinux.org/packages/info2man/info2man.tar.gz
Hierzu einfach GRUB64 unter MAC OS X installieren. GRUB64 als Alternative zu rEFIt habe ich durch Zufall im Ubuntu-Forum entdeckt [http://ubuntuforums.org/showpost.php?p=7681480&postcount=891]. Um sich nicht im Ubuntu-Forum registrieren zu müssen, habe ich das ganze auf meinen Server geladen:
  tar -xvf info2man.tar.gz
  cd info2man
  makepkg
  pacman -U info2man-1.0-2-*.pkg.tar.gz


====ift====
http://deepserve.info/arch/grub64.tar.gz
 
  cd /usr/src
  wget http://aur.archlinux.org/packages/ift/ift.tar.gz
  makepkg
  pacman -U ift-1.2-2-*.pkg.tar.gz  


Unter Mac OS X diese Datei nach /efi kopieren und dort entpacken (tar -xvf grub64.tar.gz) - Diese beinhaltet eine "grub.sh", welche zuerst mit dem Ausführungsbit markiert werden muss um anschließend ausgeführt zu werden:


Nun benötigen wir von der Mac OS Partition folgende Datei: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
chmod +x grub64.sh
Diese Datei wird anschließend nach /usr/lib/firmware kopiert. Wenn /usr/lib/firmware nicht existiert erstellt es bitte mit:
./grub64.sh


  mkdir /usr/lib/firmware
Nun wird nach dem Benutzerpasswort gefragt, dieses bitte eingeben und schon sollte GRUB64 installiert und beim nächsten Mal booten aktiviert sein. Eventuell die grub.cfg nach persönlichem Bedarf anpassen.
  Bitte AppleUSBVideoSupport nach /usr/lib/firmware kopieren
  cd /usr/lib/firmware
  ift-extract --apple-driver AppleUSBVideoSupport


Das wars auch schon. Bin gerade am abklären mit Apple, ob man die daraus resultierende isight.fw hier gleich zum Download bereitstellen kann.
===Optional: Vanilla Kernel===
Der Vanilla Kernel bietet einige Vorteile, zum Beispiel, dass man seinen Kernel kompilieren kann, wie man will, und die Version installieren kann, die man will, um z.B. Bugs zu umgehen, allerdings auch Nachteile, da man zum Beispiel über pacman keine automatisierten Updates dafür erhält.


===WLAN===
Ich habe WLAN nur durch ndiswrapper ans laufen gebracht. Diesen müsst Ihr selber kompilieren.
  cd /usr/src
  wget http://mesh.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz
  tar -xvf ndiswrapper-1.53.tar.gz
  cd ndiswrapper-1.53
  make
  make install
  wget http://nathanhi.pytalhost.net/bcm4328.tar.gz
  tar -xvf bcm4328.tar.gz
  ndiswrapper -i bcmwl5.inf
  ndiswrapper -l
Hier sollte so etwas ausgegeben werden:
  bcmwl5 : driver installed
  device (14E4:4328) present
Nun entweder das ndiswrapper Modul neu laden oder neu starten.
Für das MacBook Pro und alle anderen Modelle mit der WLAN-Karte Atheros AR5418 funktioniert der Madwifi-Treiber
  pacman -S madwifi
Man sollte nun die ath5k Modules aus der /etc/rc.conf austragen.
===Pommed===
Pommed wird für die Helligkeitsregelung von der MacBook-Hintergrundbeleuchtung benötigt und auch für eine Fernbedienung, etc.
  pacman -S alsa-lib audiofile confuse dbus eject
  cd /usr/src
  wget http://aur.archlinux.org/packages/pommed/pommed.tar.gz
  tar -xvf pommed.tar.gz
  makepkg
  pacman -U pommed-1.20-1-*.pkg.tar.gz
Nun wäre pommed installiert und wir müssen es noch konfigurieren. Ich würde empfehlen, die Konfigurationen zu löschen, und meine zu verwenden:
  rm -rfv /etc/pommed.conf*
  cd /etc/
  wget http://nathanhi.pytalhost.net/pommed.conf
===Bluetooth===
Für Bluetooth-Support müssen wir eine Datei abändern, und folgende Pakete installieren:
  pacman -S blueman bluemote bluez-utils bluez-gnome gnome-bluetooth bluez-hcidump
  nano /etc/conf.d/bluetooth
Nun Suchen wir nach # HID2HCI_ENABLE="false" und entfernen die Raute und ändern false in true, demnach:
  HID2HCI_ENABLE="true"
===Daemons===
Da wir jetzt ein funktionierendes System haben, können wir uns nun an Feinheiten machen. Ich habe als Daemons dbus, fam und hal installiert, da diese externe USB Laufwerke, oä. automatisch mounten. Nützlich ist auch Networkmanager, da man mit diesem komfortabel eine WLAN-Verbindung aufbauen kann, etc. wpa_supplicant benötigen wir für WPA/WPA2-Verbindungen
  pacman -S fam dbus hal networkmanager wpa_supplicant
Wenn du Gnome einsetzt, empfehle ich dir nm-applet
  pacman -S gnome-network-manager
Bei KDE kann ich knetworkmanager empfehlen:
  pacman -S knetworkmanager
So sollte deine DAEMONS-Line in der /etc/rc.conf aussehen:
  DAEMONS=(fam dbus hal networkmanager bluetooth alsa pommed)
Nun können wir auch den ArchLinux-Kernel deinstallieren, da dieser ja nur noch unnötig Plattenplatz benötigt.
  pacman -R kernel26
===Nach der Installation der X.org===
Falls du die Sonderfunktionen des Touchpads nutzen willst (Multitouch, etc), kannst du als Vorlage meine xorg.conf verwenden, oder verändern. Jetzt brauchen wir aber noch die synaptics Treiber, aber auf gar '''keinen''' Fall gsynaptics installieren, weil die Maus dann nicht funktionieren wird! Ich denke, dass dies an einem Bug derzeit liegt, da dieses Programm mit einem Speicherzugriffsfehler endet und dann das Touchpad "lahm" legt.
  pacman -S synaptics
  Section "ServerLayout"
      Identifier    "Xorg Configured"
      Screen      0  "Screen0" 0 0
      InputDevice    "Keyboard0" "CoreKeyboard"
      InputDevice    "MacBook Touchpad" "CorePointer"
  EndSection
Sucht jetzt die Section, wo
  Option "Device" "/dev/psaux"
steht. Diese Section entfernst du gänzlich und ersetzt sie durch folgende:
  Section "InputDevice"
        Identifier      "MacBook Touchpad"
        Driver          "synaptics"
        Option          "AccelFactor"          "0.015"
        Option          "BottomEdge"            "310"
        Option          "Device"                "/dev/psaux"
        Option          "FingerHigh"            "30"
        Option          "FingerLow"            "20"
        Option          "HorizScrollDelta"      "0"
        Option          "LeftEdge"              "100"
        Option          "MaxDoubleTapTime"      "180"
        Option          "MaxSpeed"              "0.88"
        Option          "MaxTapMove"            "220"
        Option          "MaxTapTime"            "150"
        Option          "MinSpeed"              "0.79"
        Option          "Protocol"              "auto-dev"
        Option          "RightEdge"            "1120"
        Option          "SendCoreEvents"        "true"
        Option          "SHMConfig"            "on"
        Option          "TapButton2"            "3"
        Option          "TapButton3"            "2"
        Option          "TopEdge"              "50"
        Option          "VertScrollDelta"      "25"
        Option          "VertTwoFingerScroll"  "true"
  EndSection
Als Alternative könnt Ihr auch gänzlich meine verwenden:
  http://nathanhi.pytalhost.net/xorg.conf
Ich wünsche euch nun viel Spaß mit dem funktionierendem System. Die Desktop Umgebung und weitere Programme müsst Ihr nun selbst installieren.
==ArchLinux 64-Bit==
===Grundinstallation===
Ich habe Arch64 wie gewöhnlich installiert. Worauf Ihr achten solltet, wenn man Mac OS noch auf der ersten Partition hat, ist, dass cfdisk nicht mit GPT Partitionen arbeiten kann (Offiziell). Es kommt eine Meldung, die man mit yes und Enter umgehen kann, ich hatte bisher (3 Installationen) noch keinen Datenverlust, jedoch würde ich zu einer Datensicherung der Mac OS Partition raten. Wichtig ist, dass man Mac OS X vorher schon auf einer kleinen Partition installiert. Ich habe 50% Mac OS X und 50% Linux (75GB Mac OS, 75GB Linux). Meiner Meinung nach ist Mac OS nach einer erfolgreichen ArchLinux Installation vollkommen unnötig. Ich habe aber unter Mac OS rEFIt installiert, um eine angenehme Betriebssystemauswahl beim Boot zu haben, was man natürlich auch unter Linux kann. Wenn cfdisk geladen ist, erstellen wir im freien Plattenplatz '''eine''' Partition und formatieren diese mit ext3 oder einem anderen von rEFIt unterstützten Dateisystem und verwenden diese Partition (meist /dev/sda3) als ROOT (/). Nun ist die Installation des Grundsystems wie jede andere von ArchLinux auch. Ich empfehle als Bootloader GRUB.
===Vanilla Kernel===
Wichtig ist, dass man bevor man die GUI oder andere Programme installiert sich zuerst den Kernel selber "bäckt" bzw. kompiliert, da dann in Gnome der Standby/Ruhezustand auf Anhieb funktioniert. Das geht folgendermaßen ab:
Wichtig ist, dass man bevor man die GUI oder andere Programme installiert sich zuerst den Kernel selber "bäckt" bzw. kompiliert, da dann in Gnome der Standby/Ruhezustand auf Anhieb funktioniert. Das geht folgendermaßen ab:


Man installiert sich die Pakete make und gcc, falls nicht schon installiert.
Man installiert sich die Pakete make und gcc, falls nicht schon installiert.


    pacman -Sy make gcc
pacman -S make gcc-multilib


Man lädt sich die aktuellen Kernel Sources von kernel.org und entpackt sie nach /usr/src
Man lädt sich die aktuellen Kernel Sources von kernel.org und entpackt sie nach /usr/src


    cd /usr/src
cd /usr/src
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.4.tar.bz2
    tar -xvf linux-2.6.27.tar.bz2
tar -xvf linux-2.6.38.4.tar.bz2
    ln -s linux-2.6.27 /usr/src/linux
ln -s linux-2.6.38.4 linux
    cd linux/
cd linux/


Jetzt könnten wir zur einen Seite unseren Kernel manuell konfigurieren, oder Ihr nehmt meine .config. Die ladet ihr einfach nach /usr/src/linux. Am  besten mit wget


Jetzt könnten wir zur einen Seite unseren Kernel manuell konfigurieren, oder Ihr nehmt meine .config. Die ladet ihr einfach nach /usr/src/linux. Am  besten mit wget
'''Achtung:''' Wer ein anderes Filesystem als XFS auf seinem ROOT (/) hat, muss sich die Kernel config nochmal anschauen!


  wget http://nathanhi.pytalhost.net/.config -O .config
wget http://deepserve.info/arch/macbook_kernel.config -O .config


Das -O .config überschreibt eine schon vorhandene .config. Nun müssen wir den Kernel kompilieren und die Module bauen lassen.
Das -O .config überschreibt eine schon vorhandene .config. Nun müssen wir den Kernel kompilieren und die Module bauen lassen.


  make && make modules_install && cp arch/x86_64/boot/bzImage /boot/linux
make -j2 && make -j2 modules_install && cp -rf arch/x86/boot/bzImage /boot/linux
 
Nun machen wir uns schnell einen Kaffee, denn in exakt 6 Minuten sollte der Kernel fertig sein. Anschließend wird der Kernel nach /boot/linux kopiert. Nun gehen wir in das /boot/grub Verzeichnis und ersetzten die darin enthaltene menu.lst mit meiner:
 
  cd /boot/grub
  wget http://nathanhi.pytalhost.net/menu.lst -O menu.lst
 
Jetzt wird standardmäßig der selber gebackene Kernel gebootet. Nun wird es Zeit, die /etc/rc.conf zu bearbeiten. Eure MODULES-Line sollte wie folgt aussehen:


  MODULES=(usbcore ehci_hcd ohci_hcd uhci_hcd usblp usb-storage usbhid appletouch snd-hwdep snd-hda-intel uvcvideo isight_firmware ndiswrapper)
Nun machen wir uns schnell einen Kaffee, denn in exakt 6 Minuten sollte der Kernel fertig sein. Anschließend wird der Kernel automatisch nach /boot/linux kopiert.


Jetzt noch schnell einen Neustart machen und hoffen, dass alles geht, einige Module konnten bestimmt nicht geladen werden, aber das lösen wir in den späteren "Kapiteln".
Nun wird es Zeit, die /etc/rc.conf zu bearbeiten. Eure MODULES-Line könnte wie folgt aussehen:


===Swapfile===
MODULES=(usbhid appletouch uvcvideo isight-firmware snd-mixer-oss snd-pcm-oss snd-hwdep snd snd-page-alloc snd-pcm snd-timer snd-hda-intel sky2 usb-storage usbhid ehci-hcd uhci-hcd ieee1394 ohci1394)


Da wir keine Swap-Partition erstellen konnten, tun wir das jetzt, jedoch in eine Datei, vergleichbar mit einer Auslagerungsdatei unter dem OS, das fliegen kann.
Jetzt noch schnell einen Neustart machen und hoffen, dass alles funktioniert, einige Module konnten bestimmt nicht geladen werden, aber das lösen wir in den späteren "Kapiteln".


  dd if=/dev/zero of=/swapfile bs=1M count=512    ('''erstellt ein 512MB großes Swapfile''')
===Bugfix: Sound===
  mkswap /swapfile
Für gewöhnlich sollte der Kernel nun automatisch den richtigen Codec für die intel-hda auswählen und demnach problemlos funktionieren. Bei älteren Kerneln kann es allerdings vorkommen, dass dieser nur leise oder garnicht funktioniert.
  swapon /swapfile


Jetzt müssen wir noch folgende Zeile (an das Ende) in die /etc/fstab hinzufügen:
Am besten testen wir den Sound wie folgt:


  /swapfile swap swap defaults 0 0
aplay /dev/urandom


===Sound===
Falls nichts zu hören sein sollte, einfach mit den Ohren an die Lautsprecher gehen, bei gutem Gehör sollte man es leise rauschen hören. Das bedeutet, dass der Kernel nicht den richtigen Kartenhersteller erkannt hat und das falsche Codec lädt, dieses lässt sich recht leicht beheben.


Um den Sound an einem MacBook ans laufen zu bringen vermag es ein wenig Magie, da im MacBook eine Intel HD Audio verbaut ist, und die, wie wir alle wissen von zu vielen Hardwareherstellern vertrieben wird, und jede anders funktioniert. Das Geheimnis lässt sich recht schnell lösen. Zuerst müssen wir alsa-utils installieren, um alsaconf ausführen zu können.
Zuerst einmal sollten wir sehen, ob ALSA richtig konfiguriert wurde - Dafür benötigen wir alsaconf


  pacman -S alsa-utils
pacman -S alsa-utils


Nun führen wir alsaconf aus und wählen Intel HD Audio aus. Anschließend fügen wir in die /etc/modprobe.d/sound folgende Zeile am Ende hinzu:
Nun führen wir alsaconf aus und wählen Intel HD Audio aus. Anschließend fügen wir in die /etc/modprobe.d/sound folgende Zeile am Ende hinzu:


  options snd-hda-intel model=mbp3
options snd-hda-intel model=mbp3


Da ansonsten der Sound garnicht bis sehr leise hörbar wäre.
Falls es keine /etc/modprobe.d/sound geben sollte, diese einfach anlegen.


===iSight===
===iSight===
 
Als erstes brauchen wir folgendes Tool aus dem AUR: Die ift-tools. Da die ift-tools einiges an Abhängigkeiten haben, müssen wir ein paar Pakete aus dem AUR installieren:
Um iSight, die integrierte Webcam im MacBook ans laufen zu bekommen, bedarf es etwas Geduld und Zeit. Als erstes brauchen wir folgendes Tool aus dem AUR: Die ift-tools. Da die ift-tools einiges an Abhängigkeiten haben, müssen wir ein paar Pakete aus dem AUR installieren:


====Info2Man====
====Info2Man====
 
cd /usr/src
  cd /usr/src
wget http://aur.archlinux.org/packages/info2man/info2man.tar.gz
  wget http://aur.archlinux.org/packages/info2man/info2man.tar.gz
tar -xvf info2man.tar.gz
  tar -xvf info2man.tar.gz
cd info2man
  cd info2man
makepkg
  makepkg
su
  pacman -U info2man-1.0-2-x86_64.pkg.tar.gz
pacman -U info2man-1.0-2-*.pkg.tar.gz


====ift====
====ift====
 
cd /usr/src
  cd /usr/src
wget http://aur.archlinux.org/packages/isight-firmware-tools/isight-firmware-tools.tar.gz
  wget http://aur.archlinux.org/packages/ift/ift.tar.gz
tar -xvf isight-firmware-tools.tar.gz
  makepkg
cd isight-firmware-tools
  pacman -U ift-1.2-2-x86_64.pkg.tar.gz  
makepkg
su
pacman -U isight-firmw*.pkg.tar.gz  




Nun benötigen wir von der Mac OS Partition folgendes File: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
Nun benötigen wir von der Mac OS Partition folgende Datei: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
Dieses File wird anschließend nach /usr/lib/firmware kopiert. Wenn /usr/lib/firmware nicht existiert erstellt es bitte mit:
Diese Datei wird anschließend nach /usr/lib/firmware kopiert. Wenn /usr/lib/firmware nicht existiert erstellt es bitte mit:


  mkdir /usr/lib/firmware
mkdir /usr/lib/firmware
  Bitte AppleUSBVideoSupport nach /usr/lib/firmware kopieren
cd /usr/lib/firmware
  cd /usr/lib/firmware
ift-extract --apple-driver /pfad/zu/AppleUSBVideoSupport
  ift-extract --apple-driver AppleUSBVideoSupport


Das wars auch schon. Bin gerade am abklären mit Apple, ob man die daraus resultierende isight.fw hier gleich zum Download bereitstellen kann.
Das wars auch schon.


===WLAN===
===WLAN===
In den meisten MacBooks ist eine Broadcom-Karte eingebaut. Für diese gibt es die "Broadcom-STA"-Treiber. '''Jedoch als Vorwarnung: Diese Treiber funktionieren nach Willkür nur auf bestimmten (von BCM freigegebenen Kerneln)


Ich habe WLAN nur durch ndiswrapper ans laufen gebracht. Diesen muss man selber kompilieren.
cd /usr/src
mkdir bcm-4328
cd bcm-4328
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
tar -xvf hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
make -j2
su
make install


  cd /usr/src
Anschließend bitte sicherstellen, dass das Modul 'wl' auch wirklich in der MODULES-Section der rc.conf vorhanden ist!
  wget http://mesh.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz
  tar -xvf ndiswrapper-1.53.tar.gz
  cd ndiswrapper-1.53
  make
  make install
  wget http://nathanhi.pytalhost.net/bcm4328.tar.gz
  tar -xvf bcm4328.tar.gz
  ndiswrapper -i bcmwl5.inf
  ndiswrapper -l


Hier sollte so etwas ausgegeben werden:
Für das MacBook Pro und alle anderen Modelle mit der WLAN-Karte Atheros AR5418 funktioniert der Madwifi-Treiber


  bcmwl5 : driver installed
pacman -S madwifi
  device (14E4:4328) present


Nun entweder das ndiswrapper Modul neu laden oder neu starten.
Man sollte nun die ath5k Modules aus der /etc/rc.conf austragen.


===Pommed===
===Pommed===
Pommed wird für die Helligkeitsregelung von der MacBook-Hintergrundbeleuchtung benötigt und auch für die Apple Remote, etc.


Pommed wird für die Helligkeitsregelung von der MacBook-Hintergrundbeleuchtung benötigt und auch für eine Fernbedienung, etc.
su
pacman -S alsa-lib audiofile confuse dbus eject
exit
cd /usr/src
wget http://aur.archlinux.org/packages/pommed/pommed.tar.gz
tar -xvf pommed.tar.gz
makepkg
su
pacman -U pommed-*.pkg.tar.gz


  pacman -S alsa-lib audiofile confuse dbus eject
Anschließend noch die /etc/pommed.conf nach persönlichen Wünschen editieren.
  cd /usr/src
  wget http://aur.archlinux.org/packages/pommed/pommed.tar.gz
  tar -xvf pommed.tar.gz
  makepkg
  pacman -U pommed-1.20-1-x86_64.pkg.tar.gz


Nun wäre pommed installiert und wir müssen es noch Konfigurieren. Ich würde euch empfehlen, die Konfigurationen zu löschen, und meine zu verwenden:
'''Anmerkung:''' Unter umständen funktioniert die Mute Taste nicht, und man kann keinen Fehler finden. Abhilfe stellt die Umstellung des <code>speaker</code>-Parameters auf <code>Master</code>:


  rm -rfv /etc/pommed.conf*
audio {
  cd /etc/
...
  wget http://nathanhi.pytalhost.net/pommed.conf
# mixer element for volume adjustment
volume = "PCM"
# mixer element for muting the speakers
'''speakers = "Master"'''
# mixer element for muting the headphones
headphones = "Headphone"
}


===Bluetooth===
===Bluetooth===
Für Bluetooth-Support müssen wir eine Datei abändern, und folgende Pakete installieren:
Für Bluetooth-Support müssen wir eine Datei abändern, und folgende Pakete installieren:


  pacman -S blueman bluemote bluez-utils bluez-gnome gnome-bluetooth bluez-hcidump
pacman -S blueman bluez-utils gnome-bluetooth bluez-hcidump
  nano /etc/conf.d/bluetooth
vim /etc/conf.d/bluetooth


Nun Suchen wir nach # HID2HCI_ENABLE="false" und entfernen die Raute und ändern false in true, demnach:
Nun Suchen wir nach # HID2HCI_ENABLE="false" und '''entfernen die Raute''' und '''ändern false in true''', demnach:


  HID2HCI_ENABLE="true"
HID2HCI_ENABLE="true"


===Daemons===
===Nach der Installation der X.org===
====DPI====
Wenn die Schriften etwas zu groß wirken, obwohl sie gewöhnlicherwiese schon kleine Größen von meist 10pt haben, liegt das an der DPI Einstellung des X-Servers. Standardmäßig sollten 96 dpi eingestellt und genutzt werden. Am Macbook sind es unter Linux, falls die größen nicht passen sollten, 114 dpi. Der X-Server berechnet die Werte aus der Angabe der Bildschirmgröße und der Auflösung. Man kann den X-Server auf 96 DPI folgendermaßen einstellen:


Da wir jetzt ein funktionierendes System haben, können wir uns nun an Feinheiten machen. Ich habe als Daemons dbus, fam und hal installiert, da diese externe USB Laufwerke, oä. automatisch mounten. Nützlich ist auch Networkmanager, da man mit diesem komfortabel eine WLAN verbindung aufbauen kann, etc. wpa_supplicant benötigen wir für WPA/WPA2-Verbindungen
* Entweder dem Startskript <code>/usr/bin/startx</code> den DPI-Wert übergeben:


  pacman -S fam dbus hal networkmanager wpa_supplicant
...
defaultserverargs="-dpi 96"
...


Wenn Du Gnome einsetzt, empfehle ich dir das nm-applet
* Oder, falls dies nicht funktioniert, in der <code>/etc/xorg.conf</code> die Option <code>NoDDC</code> in der "Device" Sektion angeben, z.B.:


  pacman -S gnome-network-manager
Section "Device"
        Option    "DRI" "enabled" # Forciert die aktivierung von DRI (3D)
Identifier  "Card0"
Driver      "intel"
VendorName  "Intel Corporation"
BoardName  "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
BusID      "PCI:0:2:0"
'''Option     "NoDDC"'''
EndSection


Bei KDE kann ich euch KNetworkmanager empfehlen:
Generell sind aufgrund der automatischen Erkennung der X-Einstellungen keine weiteren Einstellungen nötig.


  pacman -S knetworkmanager
====Touchpad====
Falls du die Sonderfunktionen des Touchpads nutzen willst (Multitouch, etc), dann musst du die xorg.conf ein wenig bearbeiten.


So sollte eure DAEMONS-Line in der /etc/rc.conf aussehen:
pacman -S synaptics gsynaptics


  DAEMONS=(fam dbus hal networkmanager bluetooth alsa pommed)
Sucht jetzt die Section, wo


Option "Device" "/dev/psaux"


Nun können wir auch den ArchLinux-Kernel deinstallieren, da dieser ja nur noch unnötig Plattenplatz benötigt.
steht. Diese Section entfernst du gänzlich und ersetzt sie durch folgende:
 
  pacman -R kernel26
 
===Nach der Installation der X.org===
 
Falls du die Sonderfunktionen des Touchpads nutzen willst (Multitouch, etc), dann kannst du als Vorlage meine xorg.conf verwenden, oder verändern. Jetzt brauchen wir aber noch die synaptics Treiber, aber auf gar '''keinen''' Fall gsynaptics installieren, weil die Maus dann nicht funktionieren wird!Ich denke, dass dies an einem Bug derzeit liegt, da dieses Programm mit einem Speicherzugriffsfehler endet und dann das Touchpad "lahm" legt.


  pacman -S synaptics
Section "InputDevice"
        Identifier      "MacBook Touchpad"
        Driver          "synaptics"
        Option          "SHMConfig"            "on"
        Option          "PalmDetect"            "on"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "3"
        Option          "TapButton3"            "2"
        Option          "VertTwoFingerScroll"  "true"
        Option          "HorizTwoFingerScroll"  "true"
EndSection


====Bugfix: Keine Eingabegeräte erkannt====
Dieser Fehler sollte behoben sein, für den Fall, dass er doch noch auftreten sollte, einfach sicherstellen, dass die Section ServerLayout so, oder so ähnlich aussieht:


  Section "ServerLayout"
Section "ServerLayout"
      Identifier    "Xorg Configured"
    Identifier    "Xorg Configured"
      Screen     0  "Screen0" 0 0
     Option          "AutoAddDevices" "on"
      InputDevice    "Keyboard0" "CoreKeyboard"
    Option          "AllowMouseOpenFail" "false"
      InputDevice    "MacBook Touchpad" "CorePointer"
EndSection
  EndSection


Sucht jetzt die Section, wo
====Bugfix: Tastatur====
 
Eventuell wird die Tastatur nicht korrekt erkannt und als normale PC-Tastatur benutzt, dadurch lassen sich einige Sonderzeichen kaum oder garnicht erreichen. Bei GNOME/XFCE und KDE sollte dieses Problem nicht auftreten. Für alle anderen:
  Option "Device" "/dev/psaux"
 
steht. Diese Section entfernst du gänzlich und ersetzt sie durch folgende:


  Section "InputDevice"
Section "InputClass"
        Identifier     "MacBook Touchpad"
      Identifier "Keyboard Defaults"
        Driver          "synaptics"
      Option      "XkbModel" "macbook79"
        Option          "AccelFactor"          "0.015"
      Option      "XkbLayout" "de"
        Option         "BottomEdge"            "310"
EndSection
        Option          "Device"                "/dev/psaux"
        Option          "FingerHigh"            "30"
        Option          "FingerLow"            "20"
        Option          "HorizScrollDelta"     "0"
        Option          "LeftEdge"              "100"
        Option         "MaxDoubleTapTime"     "180"
        Option          "MaxSpeed"              "0.88"
        Option          "MaxTapMove"            "220"
        Option          "MaxTapTime"            "150"
        Option          "MinSpeed"              "0.79"
        Option          "Protocol"              "auto-dev"
        Option          "RightEdge"            "1120"
        Option          "SendCoreEvents"        "true"
        Option          "SHMConfig"            "on"
        Option          "TapButton2"            "3"
        Option          "TapButton3"            "2"
        Option          "TopEdge"              "50"
        Option          "VertScrollDelta"      "25"
        Option          "VertTwoFingerScroll"   "true"
  EndSection


Als Alternative könnt Ihr auch gänzlich meine verwenden:
===Temperatur und Lüfterdrehzahl===
Wer mithilfe von lm-sensors/GKrellm/Conky die Temperaturen und Lüfterdrehzahlen auslesen will, muss das Kernelmodul <code>applesmc</code> laden. Manuelles laden erfolgt mit <code>modprobe applesmc</code>. Optional kann man dieses Modul bein Systemstart laden indem man das Modul in der <code>rc.conf</code> unter <code>MODULES=(... applesmc ...)</code> einträgt.


  http://nathanhi.pytalhost.net/xorg.conf
Kleines Gimmick: Derzeit ist es mit applesmc (system management controller) nicht möglich, die Festplatte beim Herunterfallen zu parken, jedoch kann man die Sensoren als Joystick nutzen.


Ich wünsche euch nun viel Spaß mit dem funktionierendem System. Die Desktop Umgebung und weitere Programme müsst Ihr nun selbst installieren.
Ich wünsche euch nun viel Spaß mit dem funktionierendem System. Die Desktopumgebung und weitere Programme müsst Ihr nun selbst installieren.


[[Kategorie:Installation]]
[[Kategorie:Installation]]
[[en:MacBook]]

Version vom 15. April 2013, 12:41 Uhr

Dieser Artikel oder Artikelabschnitt bedarf einer stilistischen Überarbeitung laut Empfehlungen in Artikelstil.


Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.


Einleitung

Da ich 2008 ein neues MacBook ergattert habe, und zu dieser Zeit noch keine Anleitung im Netz für Archlinux fand, wollte ich der Community ein wenig zurückgeben, und habe diesen kleinen Leitfaden geschrieben. Ich habe diesen Artikel (Stand 25.04.11) nun überarbeitet, da die ganzen Links, etc. down waren und die Konfiguration noch auf teils älterer Software basierte.

Grundinstallation

Ich habe Arch64 wie gewöhnlich installiert. Worauf Ihr achten solltet, wenn man Mac OS noch auf der ersten Partition hat, ist, dass cfdisk nicht mit GPT Partitionen arbeiten kann. Ich würde euch empfehlen, die Partitionierung von z.B. einer gparted-Livecd vorzunehmen. Eine Partitionierung mittels cfdisk über den Installer ist allerdings auch möglich, wenngleich ich auch zur Datensicherung raten würde. Wichtig ist, dass man Mac OS X vorher schon auf einer kleinen Partition installiert. Ich habe 25GB Mac OS X und 100GB Linux. Meiner Meinung nach ist Mac OS nach einer erfolgreichen Archlinux Installation ohnehin nur noch für den Bootloader zu brauchen. Ich habe aber unter Mac OS X GRUB2 installiert, um Dualboot mit OSX machen zu können. Wenn cfdisk geladen ist, erstellen wir im freien Plattenplatz zwei Partitionen und formatieren / mit einem beliebigen FS (EXT2/3/4,XFS,BTRFS,etc.) und erstellen eine beliebig große (Ich verwende 1GB) SWAP-Partition am Ende der Festplatte.

Bootloader

Methode 1: rEFIt

Entweder einfach die rEFIt LiveCD als "Bootloader" nutzen, welcher wiederum GRUB lädt (bitte selbst installieren), oder rEFIt unter Mac OS X installieren. ([1]).

Methode 2: GRUB2

Hierzu einfach GRUB64 unter MAC OS X installieren. GRUB64 als Alternative zu rEFIt habe ich durch Zufall im Ubuntu-Forum entdeckt [2]. Um sich nicht im Ubuntu-Forum registrieren zu müssen, habe ich das ganze auf meinen Server geladen:

http://deepserve.info/arch/grub64.tar.gz

Unter Mac OS X diese Datei nach /efi kopieren und dort entpacken (tar -xvf grub64.tar.gz) - Diese beinhaltet eine "grub.sh", welche zuerst mit dem Ausführungsbit markiert werden muss um anschließend ausgeführt zu werden:

chmod +x grub64.sh
./grub64.sh

Nun wird nach dem Benutzerpasswort gefragt, dieses bitte eingeben und schon sollte GRUB64 installiert und beim nächsten Mal booten aktiviert sein. Eventuell die grub.cfg nach persönlichem Bedarf anpassen.

Optional: Vanilla Kernel

Der Vanilla Kernel bietet einige Vorteile, zum Beispiel, dass man seinen Kernel kompilieren kann, wie man will, und die Version installieren kann, die man will, um z.B. Bugs zu umgehen, allerdings auch Nachteile, da man zum Beispiel über pacman keine automatisierten Updates dafür erhält.

Wichtig ist, dass man bevor man die GUI oder andere Programme installiert sich zuerst den Kernel selber "bäckt" bzw. kompiliert, da dann in Gnome der Standby/Ruhezustand auf Anhieb funktioniert. Das geht folgendermaßen ab:

Man installiert sich die Pakete make und gcc, falls nicht schon installiert.

pacman -S make gcc-multilib

Man lädt sich die aktuellen Kernel Sources von kernel.org und entpackt sie nach /usr/src

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.4.tar.bz2
tar -xvf linux-2.6.38.4.tar.bz2
ln -s linux-2.6.38.4 linux
cd linux/

Jetzt könnten wir zur einen Seite unseren Kernel manuell konfigurieren, oder Ihr nehmt meine .config. Die ladet ihr einfach nach /usr/src/linux. Am besten mit wget

Achtung: Wer ein anderes Filesystem als XFS auf seinem ROOT (/) hat, muss sich die Kernel config nochmal anschauen!

wget http://deepserve.info/arch/macbook_kernel.config -O .config

Das -O .config überschreibt eine schon vorhandene .config. Nun müssen wir den Kernel kompilieren und die Module bauen lassen.

make -j2 && make -j2 modules_install && cp -rf arch/x86/boot/bzImage /boot/linux

Nun machen wir uns schnell einen Kaffee, denn in exakt 6 Minuten sollte der Kernel fertig sein. Anschließend wird der Kernel automatisch nach /boot/linux kopiert.

Nun wird es Zeit, die /etc/rc.conf zu bearbeiten. Eure MODULES-Line könnte wie folgt aussehen:

MODULES=(usbhid appletouch uvcvideo isight-firmware snd-mixer-oss snd-pcm-oss snd-hwdep snd snd-page-alloc snd-pcm snd-timer snd-hda-intel sky2 usb-storage usbhid ehci-hcd uhci-hcd ieee1394 ohci1394)

Jetzt noch schnell einen Neustart machen und hoffen, dass alles funktioniert, einige Module konnten bestimmt nicht geladen werden, aber das lösen wir in den späteren "Kapiteln".

Bugfix: Sound

Für gewöhnlich sollte der Kernel nun automatisch den richtigen Codec für die intel-hda auswählen und demnach problemlos funktionieren. Bei älteren Kerneln kann es allerdings vorkommen, dass dieser nur leise oder garnicht funktioniert.

Am besten testen wir den Sound wie folgt:

aplay /dev/urandom

Falls nichts zu hören sein sollte, einfach mit den Ohren an die Lautsprecher gehen, bei gutem Gehör sollte man es leise rauschen hören. Das bedeutet, dass der Kernel nicht den richtigen Kartenhersteller erkannt hat und das falsche Codec lädt, dieses lässt sich recht leicht beheben.

Zuerst einmal sollten wir sehen, ob ALSA richtig konfiguriert wurde - Dafür benötigen wir alsaconf

pacman -S alsa-utils

Nun führen wir alsaconf aus und wählen Intel HD Audio aus. Anschließend fügen wir in die /etc/modprobe.d/sound folgende Zeile am Ende hinzu:

options snd-hda-intel model=mbp3

Falls es keine /etc/modprobe.d/sound geben sollte, diese einfach anlegen.

iSight

Als erstes brauchen wir folgendes Tool aus dem AUR: Die ift-tools. Da die ift-tools einiges an Abhängigkeiten haben, müssen wir ein paar Pakete aus dem AUR installieren:

Info2Man

cd /usr/src
wget http://aur.archlinux.org/packages/info2man/info2man.tar.gz
tar -xvf info2man.tar.gz
cd info2man
makepkg
su
pacman -U info2man-1.0-2-*.pkg.tar.gz

ift

cd /usr/src
wget http://aur.archlinux.org/packages/isight-firmware-tools/isight-firmware-tools.tar.gz
tar -xvf isight-firmware-tools.tar.gz
cd isight-firmware-tools
makepkg
su
pacman -U isight-firmw*.pkg.tar.gz 


Nun benötigen wir von der Mac OS Partition folgende Datei: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport Diese Datei wird anschließend nach /usr/lib/firmware kopiert. Wenn /usr/lib/firmware nicht existiert erstellt es bitte mit:

mkdir /usr/lib/firmware
cd /usr/lib/firmware
ift-extract --apple-driver /pfad/zu/AppleUSBVideoSupport

Das wars auch schon.

WLAN

In den meisten MacBooks ist eine Broadcom-Karte eingebaut. Für diese gibt es die "Broadcom-STA"-Treiber. Jedoch als Vorwarnung: Diese Treiber funktionieren nach Willkür nur auf bestimmten (von BCM freigegebenen Kerneln)

cd /usr/src
mkdir bcm-4328
cd bcm-4328
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
tar -xvf hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
make -j2
su
make install

Anschließend bitte sicherstellen, dass das Modul 'wl' auch wirklich in der MODULES-Section der rc.conf vorhanden ist!

Für das MacBook Pro und alle anderen Modelle mit der WLAN-Karte Atheros AR5418 funktioniert der Madwifi-Treiber

pacman -S madwifi

Man sollte nun die ath5k Modules aus der /etc/rc.conf austragen.

Pommed

Pommed wird für die Helligkeitsregelung von der MacBook-Hintergrundbeleuchtung benötigt und auch für die Apple Remote, etc.

su
pacman -S alsa-lib audiofile confuse dbus eject
exit
cd /usr/src
wget http://aur.archlinux.org/packages/pommed/pommed.tar.gz
tar -xvf pommed.tar.gz
makepkg
su
pacman -U pommed-*.pkg.tar.gz 

Anschließend noch die /etc/pommed.conf nach persönlichen Wünschen editieren.

Anmerkung: Unter umständen funktioniert die Mute Taste nicht, und man kann keinen Fehler finden. Abhilfe stellt die Umstellung des speaker-Parameters auf Master:

audio {
	...
	# mixer element for volume adjustment
	volume = "PCM"
	# mixer element for muting the speakers
	speakers = "Master"
	# mixer element for muting the headphones
	headphones = "Headphone"
}

Bluetooth

Für Bluetooth-Support müssen wir eine Datei abändern, und folgende Pakete installieren:

pacman -S blueman bluez-utils gnome-bluetooth bluez-hcidump
vim /etc/conf.d/bluetooth

Nun Suchen wir nach # HID2HCI_ENABLE="false" und entfernen die Raute und ändern false in true, demnach:

HID2HCI_ENABLE="true"

Nach der Installation der X.org

DPI

Wenn die Schriften etwas zu groß wirken, obwohl sie gewöhnlicherwiese schon kleine Größen von meist 10pt haben, liegt das an der DPI Einstellung des X-Servers. Standardmäßig sollten 96 dpi eingestellt und genutzt werden. Am Macbook sind es unter Linux, falls die größen nicht passen sollten, 114 dpi. Der X-Server berechnet die Werte aus der Angabe der Bildschirmgröße und der Auflösung. Man kann den X-Server auf 96 DPI folgendermaßen einstellen:

  • Entweder dem Startskript /usr/bin/startx den DPI-Wert übergeben:
...
defaultserverargs="-dpi 96"
...
  • Oder, falls dies nicht funktioniert, in der /etc/xorg.conf die Option NoDDC in der "Device" Sektion angeben, z.B.:
Section "Device"
       Option     "DRI" "enabled" # Forciert die aktivierung von DRI (3D)
	Identifier  "Card0"
	Driver      "intel"
	VendorName  "Intel Corporation"
	BoardName   "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
	BusID       "PCI:0:2:0"
	Option	    "NoDDC"
EndSection

Generell sind aufgrund der automatischen Erkennung der X-Einstellungen keine weiteren Einstellungen nötig.

Touchpad

Falls du die Sonderfunktionen des Touchpads nutzen willst (Multitouch, etc), dann musst du die xorg.conf ein wenig bearbeiten.

pacman -S synaptics gsynaptics

Sucht jetzt die Section, wo

Option "Device" "/dev/psaux"

steht. Diese Section entfernst du gänzlich und ersetzt sie durch folgende:

Section "InputDevice"
        Identifier      "MacBook Touchpad"
        Driver          "synaptics"
        Option          "SHMConfig"             "on"
        Option          "PalmDetect"            "on"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "3"
        Option          "TapButton3"            "2"
        Option          "VertTwoFingerScroll"   "true"
        Option          "HorizTwoFingerScroll"  "true"
EndSection

Bugfix: Keine Eingabegeräte erkannt

Dieser Fehler sollte behoben sein, für den Fall, dass er doch noch auftreten sollte, einfach sicherstellen, dass die Section ServerLayout so, oder so ähnlich aussieht:

Section "ServerLayout"
    Identifier     "Xorg Configured"
    Option          "AutoAddDevices" "on"
    Option          "AllowMouseOpenFail" "false"
EndSection

Bugfix: Tastatur

Eventuell wird die Tastatur nicht korrekt erkannt und als normale PC-Tastatur benutzt, dadurch lassen sich einige Sonderzeichen kaum oder garnicht erreichen. Bei GNOME/XFCE und KDE sollte dieses Problem nicht auftreten. Für alle anderen:

Section "InputClass"
     Identifier  "Keyboard Defaults"
     Option      "XkbModel" "macbook79"
     Option      "XkbLayout" "de"
EndSection

Temperatur und Lüfterdrehzahl

Wer mithilfe von lm-sensors/GKrellm/Conky die Temperaturen und Lüfterdrehzahlen auslesen will, muss das Kernelmodul applesmc laden. Manuelles laden erfolgt mit modprobe applesmc. Optional kann man dieses Modul bein Systemstart laden indem man das Modul in der rc.conf unter MODULES=(... applesmc ...) einträgt.

Kleines Gimmick: Derzeit ist es mit applesmc (system management controller) nicht möglich, die Festplatte beim Herunterfallen zu parken, jedoch kann man die Sensoren als Joystick nutzen.

Ich wünsche euch nun viel Spaß mit dem funktionierendem System. Die Desktopumgebung und weitere Programme müsst Ihr nun selbst installieren.