ArchLinux auf einem MacBook: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
KKeine Bearbeitungszusammenfassung
K (Orthografische und stilistische Änderungen)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
{{Veraltet}}
==Einleitung==
==Einleitung==
 
In diesem Artikel werden die Besonderheiten des Installationsprozesses, von Archlinux, auf einem MacBook und das Installieren der Treiber für die Hardware beschrieben. Da der Author 2008 ein neues MacBook ergattert hat und er zu dieser Zeit noch keine Anleitung im Netz für Archlinux auf einem MacBook fand, wollte er der Community ein Wenig zurückgeben und hat diesen kleinen Leitfaden verfasst. Dieser Artikel wurde (Stand 25.04.11) überarbeitet, da die ganzen Links, etc. offline waren und die Konfiguration noch auf teils älterer Software basierte.
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===
===Grundinstallation===
 
Man installiert Archlinux wie gewohnt. Worauf man achten sollte, wenn man MacOS noch auf der ersten Partition hat, ist, dass cfdisk nicht mit GPT Partitionen arbeiten kann. Es ist zu empfehlen, die Partitionierung von , beispielsweise, einer Gparted-Live-CD vorzunehmen. Eine Partitionierung mittels cfdisk über den Installer ist allerdings auch möglich, wobei auch zur Datensicherung geraten wird. Wichtig ist, dass man Mac OS X vorher schon auf einer kleinen Partition installiert. Der Autor hat eine 25GB MacOS- und eine 100GB Linuxpartition. Der Autor hat GRUB2 unter MacOS installiert um Dual-Boot nutzen zu können. Wenn cfdisk geladen ist, erstellt man im freien Plattenplatz '''zwei''' Partitionen und formatiert diese mit einem beliebigen File System (EXT2/3/4,XFS,BTRFS,etc.) und erstellt eine beliebig große (Der Autor verwendet 1GB) SWAP-Partition auf der Festplatte.
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===
===Bootloader===
====Methode 1: rEFIt====
====Methode 1: rEFIt====
 
Entweder einfach die rEFIt LiveCD als "Bootloader" nutzen, welche wiederum GRUB lädt (bitte selbst installieren) oder rEFIt unter MacOS installieren. ([http://refit.sourceforge.net/]).
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/]).


====Methode 2: GRUB2====
====Methode 2: GRUB2====
Hierzu einfach GRUB64 unter MacOS installieren. Hier die der entsprechende Ubuntu-Forumbeitrag: [http://ubuntuforums.org/showpost.php?p=7681480&postcount=891]. Um sich nicht im Ubuntu-Forum registrieren zu müssen, hat der Autor das ganze auf seinen Server geladen:


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:
http://deepserve.info/arch/grub64.tar.gz


    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:


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


    chmod +x grub64.sh
Nun wird nach dem Benutzerpasswort gefragt, dieses bitte eingeben und schon sollte GRUB64 installiert und beim nächsten Mal booten verfügbar sein. Die grub.cfg Datei eventuell bei Bedürfniss anpassen.
    ./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===
===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 gibt es auch Nachteile, da man zum Beispiel über pacman keine automatisierten Updates dafür erhält.


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 sich bevor man das GUI und andere Programme installiert, zuerst den Kernel selber "bäckt" bzw. kompiliert, da dann in Gnome der Standby/Ruhezustand auf Anhieb funktioniert. Dies erfolgt folgendermassen:


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 die Pakete make und gcc, falls nicht bereit schon vorhanden.


Man installiert sich die Pakete make und gcc, falls nicht schon installiert.
pacman -S make gcc-multilib


    # pacman -S make gcc-multilib
Danach lädt man die aktuellen Kernel Sources von kernel.org und entpackt sie in /usr/src


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/


    $ cd /usr/src
Jetzt könnte man den Kernel entweder manuell konfigurieren oder man nimmt die Config-Datei des Autors. Diese dann nach /usr/src/linux herunterladen. Am besten mit wget.
    $ 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/


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


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://deepserve.info/arch/macbook_kernel.config -O .config


  '''Achtung:''' Wer ein anderes Filesystem als XFS auf seinem ROOT (/) hat, muss sich die Kernel config nochmal anschauen!
Das -O .config überschreibt eine schon vorhandene .config-Datei. Nun muss man den Kernel kompilieren und die Module bauen lassen.


  $ wget http://deepserve.info/arch/macbook_kernel.config -O .config
make -j2 && make -j2 modules_install && cp -rf arch/x86/boot/bzImage /boot/linux


Das -O .config überschreibt eine schon vorhandene .config. Nun müssen wir den Kernel kompilieren und die Module bauen lassen.
Der Kernel sollte in ca. 6 Minuten fertig sein. Anschließend wird der Kernel automatisch nach /boot/linux kopiert.


  # make -j2 && make -j2 modules_install && cp -rf arch/x86/boot/bzImage /boot/linux
Nun wird es Zeit, die /etc/rc.conf-Datei zu bearbeiten. Die MODULES-Line könnte wie folgt aussehen:


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


Nun wird es Zeit, die /etc/rc.conf zu bearbeiten. Eure MODULES-Line könnte wie folgt aussehen:
Jetzt Neustarten. Es könnte sein, dass einige Module nicht geladen werden konnte. Auf diese Probleme wird in den nachfolgenden Abschnitten eingegangen.
 
  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===
===Bugfix: Sound===
Für gewöhnlich sollte der Kernel nun automatisch das richtige 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.


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 man den Sound wie folgt:


Am besten testen wir den Sound wie folgt:
aplay /dev/urandom
 
  $ 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.
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
Zuerst einmal sollten man sehen, ob ALSA richtig konfiguriert wurde - Dafür benötigen man 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ührt man alsaconf aus und wählen Intel HD Audio aus. Anschließend in die /etc/modprobe.d/sound folgende Zeile am Ende hinzufügen:


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


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


===iSight===
===iSight===
 
Als erstes wird folgendes Tool aus dem AUR benötigt: Die ift-tools. Da die ift-tools einige Abhängigkeiten haben, muss man ein paar Pakete aus dem AUR installieren:
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-*.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/isight-firmware-tools/isight-firmware-tools.tar.gz
tar -xvf isight-firmware-tools.tar.gz
  $ tar -xvf isight-firmware-tools.tar.gz
cd isight-firmware-tools
  $ cd isight-firmware-tools
makepkg
  $ makepkg
su
  # pacman -U isight-firmw*.pkg.tar.gz  
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
Nun benötigt man von der MacOS-Partition folgende Datei: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
  # cd /usr/lib/firmware
Diese Datei anschließend nach /usr/lib/firmware kopieren. Wenn /usr/lib/firmware nicht existiert dies mit folgenden Commands erstellen:
  # ift-extract --apple-driver /pfad/zu/AppleUSBVideoSupport


Das wars auch schon.
mkdir /usr/lib/firmware
cd /usr/lib/firmware
ift-extract --apple-driver /pfad/zu/AppleUSBVideoSupport


===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)
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
cd /usr/src
  $ mkdir bcm-4328
mkdir bcm-4328
  $ cd bcm-4328
cd bcm-4328
  $ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
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
tar -xvf hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
  $ make -j2
make -j2
  # make install
su
make install


Anschließend bitte sicherstellen, dass das Modul 'wl' auch wirklich in der MODULES-Section der rc.conf vorhanden ist!
Anschließend 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
Für das MacBook Pro und alle anderen Modelle mit der WLAN-Karte Atheros AR5418 funktioniert der Madwifi-Treiber


  # pacman -S madwifi
pacman -S madwifi


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


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


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
  # pacman -S alsa-lib audiofile confuse dbus eject
exit
  $ cd /usr/src
cd /usr/src
  $ wget http://aur.archlinux.org/packages/pommed/pommed.tar.gz
wget http://aur.archlinux.org/packages/pommed/pommed.tar.gz
  $ tar -xvf pommed.tar.gz
tar -xvf pommed.tar.gz
  $ makepkg
makepkg
  # pacman -U pommed-*.pkg.tar.gz  
su
pacman -U pommed-*.pkg.tar.gz  


Anschließend noch die /etc/pommed.conf nach persönlichen Wünschen editieren.
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 <code>speaker</code>-Parameters auf <code>Master</code>:
'''Anmerkung:''' Unter Umständen funktioniert die Mute-Taste nicht und der Fehler ist nicht zu finden. Abhilfe stellt die Umstellung des <code>speaker</code>-Parameters auf <code>Master</code>:


  audio {
  audio {
Zeile 161: Zeile 153:


===Bluetooth===
===Bluetooth===
Für Bluetooth-Support muss man 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 bluez-utils gnome-bluetooth bluez-hcidump
 
vim /etc/conf.d/bluetooth
  # 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:
Nun Suchen wir nach # HID2HCI_ENABLE="false" und '''entfernen die Raute''' und '''ändern false in true''', demnach:


  HID2HCI_ENABLE="true"
HID2HCI_ENABLE="true"


===Nach der Installation der X.org===
===Nach der Installation der X.org===
====DPI====
====DPI====
Wenn die Schriften etwas zu groß wirken, obwohl sie gewöhnlicherweise auf eine kleine Grösse wie 10pt eingestellt sind, kann das an der DPI Einstellung des X-Servers liegen. 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 die Einstellung des X-Servers folgendermassen auf 96 dpi ändern:


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 <code>/usr/bin/startx</code> den DPI-Wert übergeben:


* Entweder dem Startskript <code>/usr/bin/startx</code> den DPI-Wert übergeben:
  ...
  ...
  defaultserverargs="-dpi 96"
  defaultserverargs="-dpi 96"
Zeile 194: Zeile 184:
  EndSection
  EndSection


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


====Touchpad====
====Touchpad====
Falls man die Sonderfunktionen des Touchpads (Multitouch, etc) nutzen will, dann muss man die xorg.conf-Datei ein Wenig bearbeiten.


Falls du die Sonderfunktionen des Touchpads nutzen willst (Multitouch, etc), dann musst du die xorg.conf ein wenig bearbeiten.
pacman -S synaptics gsynaptics
Man suche jetzt die Option bei der:


  # pacman -S synaptics gsynaptics
Option "Device" "/dev/psaux"


Sucht jetzt die Section, wo
geschrieben steht. Diese Section gänzlich entfernen und durch Folgende ersetzen:


  Option "Device" "/dev/psaux"
Section "InputDevice"
 
        Identifier      "MacBook Touchpad"
steht. Diese Section entfernst du gänzlich und ersetzt sie durch folgende:
        Driver          "synaptics"
 
        Option          "SHMConfig"            "on"
  Section "InputDevice"
        Option          "PalmDetect"            "on"
          Identifier      "MacBook Touchpad"
        Option          "TapButton1"            "1"
          Driver          "synaptics"
        Option          "TapButton2"            "3"
          Option          "SHMConfig"            "on"
        Option          "TapButton3"            "2"
          Option          "PalmDetect"            "on"
        Option          "VertTwoFingerScroll"  "true"
          Option          "TapButton1"            "1"
        Option          "HorizTwoFingerScroll"  "true"
          Option          "TapButton2"            "3"
EndSection
          Option          "TapButton3"            "2"
          Option          "VertTwoFingerScroll"  "true"
          Option          "HorizTwoFingerScroll"  "true"
  EndSection


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


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"
  Section "ServerLayout"
    Option          "AutoAddDevices" "on"
      Identifier    "Xorg Configured"
    Option          "AllowMouseOpenFail" "false"
      Option          "AutoAddDevices" "on"
EndSection
      Option          "AllowMouseOpenFail" "false"
  EndSection


====Bugfix: Tastatur====
====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 DE's:


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"
    Section "InputClass"
      Option      "XkbModel" "macbook79"
          Identifier  "Keyboard Defaults"
      Option      "XkbLayout" "de"
          Option      "XkbModel" "macbook79"
EndSection
          Option      "XkbLayout" "de"
    EndSection
 


===Temperatur und Lüfterdrehzahl===
===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 beim Systemstart laden, indem man das Modul in der <code>rc.conf</code> unter <code>MODULES=(... applesmc ...)</code> einträgt.


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.
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.
 
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.
Die Desktopumgebung und weitere Programme müssen nun noch selber installiert werden.


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

Aktuelle Version vom 4. August 2021, 08:11 Uhr

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


Einleitung

In diesem Artikel werden die Besonderheiten des Installationsprozesses, von Archlinux, auf einem MacBook und das Installieren der Treiber für die Hardware beschrieben. Da der Author 2008 ein neues MacBook ergattert hat und er zu dieser Zeit noch keine Anleitung im Netz für Archlinux auf einem MacBook fand, wollte er der Community ein Wenig zurückgeben und hat diesen kleinen Leitfaden verfasst. Dieser Artikel wurde (Stand 25.04.11) überarbeitet, da die ganzen Links, etc. offline waren und die Konfiguration noch auf teils älterer Software basierte.

Grundinstallation

Man installiert Archlinux wie gewohnt. Worauf man achten sollte, wenn man MacOS noch auf der ersten Partition hat, ist, dass cfdisk nicht mit GPT Partitionen arbeiten kann. Es ist zu empfehlen, die Partitionierung von , beispielsweise, einer Gparted-Live-CD vorzunehmen. Eine Partitionierung mittels cfdisk über den Installer ist allerdings auch möglich, wobei auch zur Datensicherung geraten wird. Wichtig ist, dass man Mac OS X vorher schon auf einer kleinen Partition installiert. Der Autor hat eine 25GB MacOS- und eine 100GB Linuxpartition. Der Autor hat GRUB2 unter MacOS installiert um Dual-Boot nutzen zu können. Wenn cfdisk geladen ist, erstellt man im freien Plattenplatz zwei Partitionen und formatiert diese mit einem beliebigen File System (EXT2/3/4,XFS,BTRFS,etc.) und erstellt eine beliebig große (Der Autor verwendet 1GB) SWAP-Partition auf der Festplatte.

Bootloader

Methode 1: rEFIt

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

Methode 2: GRUB2

Hierzu einfach GRUB64 unter MacOS installieren. Hier die der entsprechende Ubuntu-Forumbeitrag: [2]. Um sich nicht im Ubuntu-Forum registrieren zu müssen, hat der Autor das ganze auf seinen 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 verfügbar sein. Die grub.cfg Datei eventuell bei Bedürfniss 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 gibt es auch Nachteile, da man zum Beispiel über pacman keine automatisierten Updates dafür erhält.

Wichtig ist, dass man sich bevor man das GUI und andere Programme installiert, zuerst den Kernel selber "bäckt" bzw. kompiliert, da dann in Gnome der Standby/Ruhezustand auf Anhieb funktioniert. Dies erfolgt folgendermassen:

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

pacman -S make gcc-multilib

Danach lädt man die aktuellen Kernel Sources von kernel.org und entpackt sie in /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önnte man den Kernel entweder manuell konfigurieren oder man nimmt die Config-Datei des Autors. Diese dann nach /usr/src/linux herunterladen. 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-Datei. Nun muss man den Kernel kompilieren und die Module bauen lassen.

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

Der Kernel sollte in ca. 6 Minuten fertig sein. Anschließend wird der Kernel automatisch nach /boot/linux kopiert.

Nun wird es Zeit, die /etc/rc.conf-Datei zu bearbeiten. Die 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 Neustarten. Es könnte sein, dass einige Module nicht geladen werden konnte. Auf diese Probleme wird in den nachfolgenden Abschnitten eingegangen.

Bugfix: Sound

Für gewöhnlich sollte der Kernel nun automatisch das richtige 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 man 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 man sehen, ob ALSA richtig konfiguriert wurde - Dafür benötigen man alsaconf:

pacman -S alsa-utils

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

options snd-hda-intel model=mbp3

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

iSight

Als erstes wird folgendes Tool aus dem AUR benötigt: Die ift-tools. Da die ift-tools einige Abhängigkeiten haben, muss man 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ötigt man von der MacOS-Partition folgende Datei: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport Diese Datei anschließend nach /usr/lib/firmware kopieren. Wenn /usr/lib/firmware nicht existiert dies mit folgenden Commands erstellen:

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

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

Pommed

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

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 der Fehler ist nicht zu 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 muss man 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öhnlicherweise auf eine kleine Grösse wie 10pt eingestellt sind, kann das an der DPI Einstellung des X-Servers liegen. 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 die Einstellung des X-Servers folgendermassen auf 96 dpi ändern:

  • 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

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

Touchpad

Falls man die Sonderfunktionen des Touchpads (Multitouch, etc) nutzen will, dann muss man die xorg.conf-Datei ein Wenig bearbeiten.

pacman -S synaptics gsynaptics

Man suche jetzt die Option bei der:

Option "Device" "/dev/psaux"

geschrieben steht. Diese Section gänzlich entfernen und durch Folgende ersetzen:

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 nicht mehr auftreten, für den Fall, dass er aber 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 DE's:

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

Die Desktopumgebung und weitere Programme müssen nun noch selber installiert werden.