Installation Triple Boot auf MacBook Pro C2D (2nd Generation)

Einleitung

Ich habe mir vor kurzem ein schoenes MacBook Pro C2D gekauft:

Modell: MacBook Pro C2D (2. Generation)
Tastatur: Schweizerdeutsch
Prozessor: Core 2 Duo 2.33 GHz
Festplatte: 320 GB (Selber eingebaut. Original 160 GB)
Bildschirm: 17"
Grafikkarte: ATI Mobility Radeon X1600

Offen wie ich bin, habe ich erst mal dem vorinstalliertem Mac OS X eine Chance gegeben. Basiert dieses ja immerhin auf einem Free BDS Unix System. Nach ca. 1/2 Jahr arbeit muss ich sagen, dass das Mac OS X sicherlich ganz toll ist (es laesst sich fast nicht tot kriegen) aber es schraenkt den User meines Erachtens zu sehr ein; zugegeben – das ist eine sehr subjektive Einschaetzung eines Linux-Fans… Ausserdem werden fuer Mac OS X Tools verkauft, welche unter einem Linux ganz einfach so gratis mitgeliefert werden. Der Entschluss war klar: “Es muss wieder ein Linux her!”

Da ich hin und wieder das Windows brauche soll dies gleich auch “bootfaehig” installiert werden. Auch hier laesst sich ueberlegen, obs nicht einfacher waere das Windows ueber Parallels oder VMWAre (das gibts ja mittlerweile auch fuer Mac OS X) laufen zu lassen. An dieser Loesung passt mir aber nicht, dass die Batterie unter der Last von Parallels recht schnell in die Knie geht. Die Entscheidung war also klar…

Ich moechte noch darauf hinweisen, dass ich bevor ich mit der ganzen “Bastelei” angefangen habe, vorher schoen die ganze Macintosh HD auf eine externe Festplatte geklont habe, von welcher dann auch gebootet werden konnte. Dies einfach zur Sicherheit (ich war einige male froh darum!). Den HD-Klon habe ich mit Carbon Copy Cloner gemacht

Ich arbeite nun seit erscheinen von Hardy Heron fast auschliesslich nur noch mit Ubuntu auf dem MacBook Pro und bin auesserst zufrieden. Mit der manuellen Lüftersteuerung laeuft der MacBook pro auch ruhig wodurch ein angenehmens arbeiten nun ohne weiteres moeglich ist! Einziger Wermutstropfen ist die etwas kuerzere Akkulaufzeit.

So. Machen wir uns nun also an die Arbeit:

Partitionierung aus Mac OS X

  • Als erstes installieren wir rEFIt. rEFIt ist ein Boot-Menu und Wartungs-Toolkit fuer EFI-Basierte Computer wie es der MacBook Pro ist.
  • Dann muss auf dem MacOSX das BootCamp installiert werden. Die Installations-Routine von BootCamp installiert den BootCamp Assistenten nach “Programme>Dienstprogramme”
  • Nun starten wir den BootCamp Assistenten und erstellen uns damit eine Windows Treiber CD. Diese wird spaeter unter Windows verwendet um die MacBook Hardware unter Windows XP SP2 sauber zu installieren. Nachdem die Treiber CD erstellt worden ist, brechen wird den Boot Camp Assistenten ab (Apfel-Q). BootCamp unterstuetzt nur eine DualBoot-Installation. Fuer TripleBoot muessen wir nun selber Hand anlegen..
  • Öffne ein Terminal
  • Mit
    diskutil list

    koennen wir feststellen, wies auf unserer HD so aussieht. Mein MacBook sagt mir, dass EFI 200MB (disk0s1) und die Macintosh HD 148.7GB (disk0s2) verwendet. Disk0s1 lassen wir in Ruhe. Disk0s2 werden wir aber neu Partitionieren.

  • Gebe folgendes ein:
    sudo diskutil resizeVolume disk0s2 55G Linux Ubuntu 50G "MS-DOS FAT32" Windows 42G

    Dies Reorganisiert die Macintosh HD. Machintosh HD bekommt neu 55GB, Ubuntu-Linux 50GB und Windows 42GB. Wenn wir diese Zahlen zusammenrechnet kommt man nur auf 147GB. Mein MacBook hat aber 148.73GB Speicherkapazitaet. Das ist aber halb so wild, da ResizeVolume die restliche Speicherkapazitaet einfach der letzten Partition anhaengen wird. Die Daten des Mac gehen dabei nicht verlohren – sofern sich auf dem Mac nicht mehr als 55GB an Daten befinden.

  • Sobald die Partitionierung beendet ist, koennen wir rebooten um zu sehen ob das Mac OS X noch bootet. Der Reboot schmiert hier ab. Ich habs 2mal installiert und jedes mal stuertze hier Mac OS X ab. Das scheint also “normal” zu sein…

Installation Windows XP SP2

  • Wenn das Mac OS X noch bootet (Glueck gehabt! 😉 ) kann jetzt mit der Windows XP SP2 gebooted werden. Einfach CD einlegen und restarten. Mittels EFI kann die Installations-CD ausgewaehlt und davon gebootet werden. Achtung! Die Windows Installation funktioniert ausschliesslich mit der Windows XP SP2 Boot-CD. SP1 geht nicht, da die Tastatur waehrend der Installation nicht erkannt wird.
  • Die Installation von Windows laeuft jetzt ohne Probleme ab. Das Windows-Setup weist der “MS-DOS FAT32” automatisch den Laufwerks-Buchstaben “C” zu. In meinem Falle ist dies die Partition mit 43GB Speicherkapazitaet. Darauf installieren wir nun auch das Windows.
  • Wenn das Windows laeuft koennen die Mac-Treiber der BootCamp Treiber-Cd installiert werden. Dies installiert die Hardwareunterstuetzung wie iSight, Mac-Tastatur etc. Fuer eine individuelle Tastatur-Konfiguration gibt es  hier ein schoenes Tutorial.
  • Man koennte hier auch ein Vista installieren. Ich habs gemacht und es hat auch gut funktioniert. Ich habe das Vista einfach als Update auf das laufende XP installiert. Ein direktes Booten der Vista CD hat zwar auch funktioniert, aber die Vista-Installation brach dann ploetzlich ab. Das Update aus dem laufenden XP hat dann aber schlussendlich gut funktioniert. Ich habe mich dann aber schlussendlich gegen eine Vista Installation entschieden, weil noch viele Treiber fehlen und das Vista auch nicht als “Vituelle Instanz” per Parallels direkt aus Mac OS X gestartet werden kann. Das geht nur mit Windows XP SP2. Hier erfaehrt man noch mehr ueber die Vista Installation.

Installation Ubuntu Hardy Heron

Die neueste Ubuntu Version Hardy Heron (8.04) unterstützt Macbook Pro C2D (Version 2) nahezu perfekt. Da EFI kein GRUB unterstützt (oder ist es umgekehrt?) ist es wichtig, dass wir das Ubuntu mit LILO als Bootloader installieren. Aus diesem Grunde benötigen wir die Alternative CD:  Ubuntu Hardy Heron Alternative CD. Die alternative CD erlaubt eine textbasierte Installation von Ubuntu:

  • Wir installieren das Ubunut ganz normal auf der Partition hda0,3.
  • Wir weisen dem Mount-Point “/” die Partition /dev/sda3 zu und formatieren diese neu. Ansonsten definieren wir nichts mehr und fahren mit der Installation fort.
  • Ich erstelle KEINE Swap Partition! Alternativ erstelle ich später ein Swap-File welches ich ins System einbinde. Siehe auch [hier:>#Swap-File+erstellen+und+installieren]
  • Die Installation läuft jetzt durch.
  • Sobald der Installer Grub als Bootloader installieren will, drücken wir “ESC”. Die Installation bricht darauf ab und es erscheint das Installations-Menu (Textbasiert).
  • Hier wählen wir nun “Installation von LILO”
  • Der Bootloader darf nicht auf dem Master Boot Record sondern auf der Partition (bei mir hda0,3) installiet werden.
  • Nachdem LILO installiert ist wird die Installation beendet und der Computer wird gerebooted.
  • Nach dem Reboot im EFI Partitionen-Tool die Boot-Records synchronisieren.
  • Nun Ubuntu via EFI-Menu starten.
  • Nach dem Ubuntu-Neustart aktualisieren wir das System mittels Packet-Manager (Synaptics). Dies wird mit aller groesster Wahrscheinlichkeit einen neuen Kernel installieren.
  • Nach jedem Kernel-Update muss auch lilo wieder aktualisiert werden
    lilo -P ignore -b /dev/sda3

Gratulation! Das wars. Das Triple Boot System sollte nun funktionieren:

tripleboot

Nacharbeiten

Nun, da das System mal grundsätzlich funktioniert schlage ich vor die ganze Laptop HD auf eine externe HD zu klonen. Hierzu verwende ich g4u

Ubuntu Detailkonfiguration

Windows XP und Mac OS X laufen nun schon sauber, da die Hardware-Treibe mitgeliefert und installiert werden konnten. Fuer Ubuntu muessen nun noch einige zusaetzliche Arbeiten getan werden.

Swap-File erstellen und installieren

Ein 2GB Swap-File kann man folgendermassen erstellen und installieren:

sudo dd if=/dev/zero of=/swap bs=1024 count=2097152
mkswap /swap
swapon /swap

Nun kann man dieses Swap-File einfach in /etc/fstab einfuegen:

/swap   none    swap    sw      0 0

Keyboard

  • Unter Hardy Heron kann das MacBook Pro Keyboard unter “System>Einstellungen>Tastatur” (Tab “Belegungen” Modell “MacBook / MacBook Pro Int”) definiert werden.
  • Damit die ALTGR Taste funktioniert muss man aber noch unter “Belegungseinstellungen – Third Level Choosers” die Taste definieren.
  • Ich habe “Left Alt Key” als 3rd Level Taste definiert. …Das ist aber Geschmacksache..

Alternativ kann man auch Xmodmap verwenden (Ich verwende dies unter Hardy Heron nicht mehr). Xmodmap erlaubt es, die Tastenbelegung beliebig anzupassen.

  • Als erstes kopieren wir das standard Xmodmap-File für DE_CH und fuer den MacBookPro
    sudo cp /usr/share/xmodmap/xmodmap.ch_de /usr/share/xmodmap/xmodmap.mbp.ch_de
  • Nun koennen wir diese nach unserem Gusto anpassen. Hier finden wir die noetigen keywoerter und die keys der einzelnen Tasten kann man mit “xev” herausfinden.
  • Das Xmodmap Fiel können 4 Keywoerter angegeben werden. “Normale Verwendeung” “Verwendung mit Shift” “Verwendung mit AltGr” “Verwendung mit Shift AltGr”
  • Damit das neu erstellte Xmodmap File Wirkung hat, muss dieses beim Startup geladen werden. Hierzu geben wir den Befehl
    xmodmap /usr/share/xmodmap/xmodmap.mbp.ch_de

    beim Autostart (System-Einstellungen-Sitzungen-Startprogramme) ein.

Touchpad

Damit das Touchpad auch so wie unter MacOSX funktioniert muss man das File

vi /etc/X11/xorg.conf

anpassen. Ersetze

Sections "InputDevice"
Identifiers "Synaptics Touchpad"

...

EndSection

mit folgendem Eintrag:

Section "InputDevice"
Identifier      "Synaptics Touchpad"
Driver          "synaptics"
Option          "SendCoreEvents"        "true"
Option          "Device"                "/dev/psaux"
Option          "Protocol"              "auto-dev"
Option          "LeftEdge"              "10"
Option          "RightEdge"             "1200"
Option          "TopEdge"               "10"
Option          "BottomEdge"            "370"
Option          "FingerLow"             "10"
Option          "FingerHigh"            "20"
Option          "MaxTapTime"            "180"
Option          "MaxTapMove"            "220"
Option          "SingleTapTimeout"      "100"
Option          "MaxDoubleTapTime"      "180"
Option          "LockedDrags"           "off"
Option          "MinSpeed"              "1.10"
Option          "MaxSpeed"              "1.30"
Option          "AccelFactor"           "0.08"
Option          "TapButton1"            "1"
Option          "TapButton2"            "3"
Option          "TapButton3"            "2"
Option          "RTCornerButton"        "0"
Option          "RBCornerButton"        "0"
Option          "LTCornerButton"        "0"
Option          "LBCornerButton"        "0"
Option          "VertScrollDelta"       "20"
Option          "HorizScrollDelta"      "50"
Option          "HorizEdgeScroll"       "0"
Option          "VertEdgeScroll"        "0"
Option          "VertTwoFingerScroll"   "1"
Option          "HorizTwoFingerScroll"  "1"
Option          "SHMConfig"             "on"
EndSection
  • Damit funktioniert das Scrollen mit zwei Fingern, Rechtsklick mit zwei Finger, etc. ohne Probleme.
  • Ausser im Firefox. Irgendwie scrollt dieser fröhlich durch die History sobald man vertikal scrollen will. Das kann man Firefox abgewöhnen indem man unter ”
    about:config

    den Key

    mousewheel.horizscroll.withnokey.action

    auf “0” setzt.

Grafik-Karte

Ubuntu Hardy Heron erkennt die ATI Grafikkarte vollautomatisch. Man kann somit über “Systemverwaltung>Hardware Treiber” den “Restricted” Treiber installieren lassen. Dies installiert aber nicht den original ATI Treiber. Ich habe auf meinem System den original ATI Treiber installiert:

sudo apt-get install ia32-libs libGL.so.1
cd ~/Desktop
mkdir ATI
cd ATI
sudo apt-get update
sudo rm /usr/src/fglrx-kernel*.deb
sudo apt-get install build-essential fakeroot dh-make debhelper debconf libstdc++5 dkms linux-headers-$(uname -r)
wget -c --no-check-certificate https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8-4-x86.x86_64.run
sudo sh ati-driver-installer-8-4-x86.x86_64.run --buildpkg Ubuntu --autopkg
gksu gedit /etc/default/linux-restricted-modules-common

Fglrx disablen (Linie “DISABLED_MODULES” in File:

/etc/default/linux-restricted-modules-common
DISABLED_MODULES="fglrx"

Fglrx installieren:

sudo dpkg -i --force-overwrite xorg-driver-fglrx_8.476*.deb fglrx-kernel-source_8.476-0*.deb fglrx-amdcccle_8.476-0*.deb
sudo apt-get install -f
  • Nun muss Ubuntu grebooted werden!
  • Nach dem Reboot koennen wir den Treiber initialisieren:
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv

Nun noch Compiz installieren:

sudo apt-get install git git-core compiz-dev compizconfig-settings-manager emerald fusion-icon
  • Nun nochmals neu Rebooten

Installation überprüfen:

fglrxinfo

Das sollte folgende ausgabe ergeben:

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1600
OpenGL version string: 2.1.7415 Release
Check direct Rendering:
 glxinfo | grep direct

Ergibt Ausgabe:

direct rendering: Yes

Das war’s! Der ATI-Treiber ist damit installiert!

Bildschirm helligkeit / Keyboard Background

Es ist für den Batteriebetrieb des MacBooks wichtig, dass man die Helligkeit des Bildschirmes einstellen kann. Je heller, desto mehr Batterie wird benoetigt. Hardy Heron unterstützt dies “Out of the Box”.

  • Mit “fn F1/F2” kann die Bildschirmhelligkeit geändert werden
  • Mit “fn F8/F9/F10” kann die Tastaturbeleuchtung angepasst werden.

Wireless

Wireless funktioniert noch nicht “Out of the Box”. Nach einer simplen installation von Madwifi funktioniert aber auch dies einwandfrei:

sudo apt-get install build-essential subversion automake autoconf
 svn co http://svn.madwifi.org/madwifi/trunk madwifi
 cd madwifi
make
 sudo make install
 sudo sed -i~ 's/^exit 0/modprobe ath_pci\nexit 0/' /etc/rc.local
 sudo sed -i~ 's/^exit 0/modprobe wlan_scan_sta\nexit 0/' /etc/rc.local
 sudo sed -i~ 's/^exit 0/iwpriv ath0 bgscan 0\nexit 0/' /etc/rc.local

Damit Wireless auch nach einem aufwachen aus dem Suspend-Modus wieder geladen wird, muss im File

/etc/default/acpi-support

der “ath_pci” Treiber zu den “MODULES” hinzugefügt werden:

# ...
MODULES="ath_pci"

# ...

Suspend to Ram

Meiner Meinung nach eine der wichtigsten Funktionen ueberhaupt. Der Macbook soll beim schliessen der Klappe in den Suspend to Ram Modus gehen und beim oeffnen wieder korrekt erwachen.

Das funktioniert in Hardy Heron “Out of the Box”! yeaa…. 🙂

Temperatur Sensoren

Der MacBook Pro bietet jenste Sensoren (CPU Kern 1,CPU Kern 2, Gehaeuseunterseite,  Graphikprozessor, etc), welche abgefragt werden koennen:

Hard Disk Temperatur

Hierzu verwenden wir das Programm hddtemp, welches die temperatur der Harddisk aufzeigen kann:

sudo apt-get install hddtemp

‘Yes’, ‘OK’ und ‘OK’ waehlen.

CPU Temperatur

Folgendes in

/etc/rc.local

einfuegen:

modprobe coretemp
sensors -s

Und dann noch

sudo apt-get install lm-sensors sensors-applet

ausfuehren.

Nach einem Reboot können die Sensoren auf das Panel gezogen werden:

  • Rechtsklick auf das Panel
  • Hardware Sensors Monitor auswählen und unter “Einstellungen>Sensoren” hddtemp aktivieren. Libsensors temp2 bis temp11 deaktivieren und stattdessen “core0” und “core1” aktivieren.

Batterie Sensor

Mit folgendem Befehl kann man interessante informationen wie mW Verbrauch abfragen:

cat /proc/acpi/battery/BAT0/state

und

cat /proc/acpi/battery/BAT0/info

Manuelle Luefter Kontrolle

Ubuntu geht mit den Lueftern sehr verschwenderisch um. Die Luefter werden schon bei Temperaturen ueber 55°C bis auf 4000 RPM getrieben. Das ist uebertrieben, macht unnoetig Laerm und belastet die Batterien. Ich habe dem Abhilfe geschaffen indem ich die Luefter Manuell einstelle. Nach jedem Reboot gehen die manuellen einstellungen verlohren.

  • Darum habe ich mir analog dieser Anleitung­ drei Images auf das Panel installiert so kann ich die Luefter jeweils manuell per Mausklick ansteuern.
  • CPU-Temperaturen bis 65°C sind unbedenklich. Ich betreibe dies bei 2500 RPMs.
  • Bei HD-Filmen oder anderen rechenintensiven Aktionen setzte ich die Lüfter von 2500 auf 4000 oder gar 5000 RPMs

Und so installiert man dies:

sudo modprobe applesmc
echo applesmc | sudo tee -a /etc/modules

 

  • Kopiere die Files fan_speed1 , fan_speed2 , fan_speed3 siehe (<a href=”https://help.ubuntu.com/community/MacBookPro#head-c0f8e103a33dc32cc89664a81513c2497d44b336″ target=”_blank”>Link</a>) auf die Festplatte
  • Ausfuehrung mit:
    gksu bash ~/fan_speed1 (...2 or 3)
    

     

  • Die Luefter-Geschwindikeit kann über das Sensor Applet angezeigt werden.

Aber Achtung! Die CPU- und HD-Temperatur muss ab jetzt immer im Auge behalten werden! …Dafür schnurrt das MacBook nun unter Linux genaus leise wie unter MacOS X 🙂

Und so sieht mein Panel aus:

panel

ISight

Unter Hardy funktioniert ISight leider nicht “Out of the Box”. Es gibt zudem noch einen Bug, der eine völlig einfache Installation verhindert. Ich hab ISight aber doch noch zu laufgen gekriegt:

  • Als erstes brauchen wir die Sources von Mactel. Folgende Sources über “Software-Quellen” den sources hizufügen
    # Mactel PPA
    deb http://ppa.launchpad.net/mactel-support/ubuntu hardy main
    deb-src http://ppa.launchpad.net/mactel-support/ubuntu hardy main
  • Dann ISight-Firmware-Tool installieren
    sudo apt-get update
    sudo apt-get install isight-firmware-tools

Die Installationsroutine fragt nun nach der Firmware welche auf der Mac-HD zufinden ist. Glücklicherweise kann Hardy die Mac OSX Partition lesen, so dass der Zugriff einfach möglich ist. Einfach die Partition mounten (über nautilus) und den Pfad eigeben bzw. korrigieren:

/media/Macintosh HD/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport

Dies installiert unter

/lib/firmware das file isight.fw

Nun muss das File ”

/media/Macintosh HD/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport

auch noch nach

/lib/firmware

kopiert werden:

cp /media/Macintosh HD/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport /lib/firmware

Nun ISight Firmware extrahieren:

sudo ift-extract -a /lib/firmware/AppleUSBVideoSupport

Jetzt kann das modul geladen werden:

sudo modprobe -r uvcvideo
sudo modprobe uvcvideo
  • Jetzt muss das System ausgeschaltet (kein reboot!) werden.
  • Nun kann ISight verwendet werden (z.B. mit cheese oder Skype – Ekiga funktioniert bei mir leider nicht..)

1.1 Links

Die meisten Infos zur Installation des Triple-Boot Systems habe ich von