Live-USB Apple
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Derzeit ist es nur mit etwas Aufwand möglich einen Intel-Mac per Live-USB zu booten, da die EFI-USB Boot-Implementierung lediglich Mac OS X Startmedien unterstützt. Aus diesem Grund ist das GRUB2EFI-Projekt 🇬🇧 gestartet worden, welches einen EFI-Bootloader mit GRUB2 kombiniert. So können prinzipiell alle Distributionen gestartet werden, die einen Kernel >= 2.6.25 verwenden.
Vorbereitung¶
rEFIt¶
Unter OS X sollte das Tool rEFIt installiert werden. Beim Start des Macs zeigt rEFIt eine Übersicht aller startfähigen Partitionen und Laufwerke an. Die kann zwar auch durch das Drücken der Alt -Taste währen des Startvorgangs erreicht werden, jedoch bietet rEFIt die Möglichkeit, zusätzliche Informationen über bootbare Partitionen auszugeben. Bei einer neuen Installation von rEFIt kann es vorkommen, dass der Mac erst nach dem zweiten Neustart das rEFIt-Menü anzeigt.
USB-Stick¶
Nun wird ein USB-Stick komplett mit einer FAT32 Partition formatiert. Hierbei ist für ein Ubuntu-Live-System schon ein 1 GB Stick ausreichend.
GRUB2EFI¶
Als nächstes benötigt man einen aktuellen GRUB2EFI-Bootloader. Ein komplettes Paket steht z.B. als bootusb.tar.gz im englischen Ubuntuforum 🇬🇧 zur Verfügung. Informationen über die aktuelle Entwicklung sowie zur Problemlösung erhält man ebenfalls auf der englischen Seite ubuntuforums.com 🇬🇧. Wer den Bootloader selber kompilieren möchte erhält auf der englischen Projektseite 🇬🇧 die notwendigen Informationen.
Das Paket bootusb.tar.gz enthält den Ordner efi, welcher wiederum den Unterordner boot mit drei Dateien enthält. Die Datei bootx64.efi ist der eigentliche Bootloader. Die Datei bootx64.icns entspricht dem Icon, welches im rEFIt-Menü angezeigt wird, und die Datei grub.cfg enthält Bootparamenter, welche evtl. noch auf die eigene Mac-Hardware angepasst werden muss (siehe grub.cfg).
Der gesamte Ordner efi wird nun auf den USB-Stick kopiert.
Jetzt kommt es darauf an, für welchen Intel-Mac der Stick erstellt werden soll.
Hinweis:
64-Bit¶
Man lädt nun ein aktuelles 64bit-Ubuntu-ISO-Image herunter, z.B. ubuntu-9.10-desktop-amd64.iso, siehe Downloads. Die ISO-Datei wird genau so wie sie ist (also ohne sie zu entpacken) auf den USB-Stick kopiert. Der Stick enthält nun also das ISO-Image und den efi-Ordner.
Im Unterordner /efi/boot/ liegt die Datei grub.cfg. Diese Datei öffnet man mit einem Editor und schaut nach, ob die Einträge mit dem Namen des ISO-Images übereinstimmen (voreingestellt ist ubuntu-9.10-desktop-amd64.iso). Wenn der ISO-Name abweicht (z.B. weil eine andere Ubuntuversion verwendet werden soll), müssen die Einträge in grub.cfg entsprechend angepasst werden.
Jetzt kann der Mac bei eingestecktem USB-Stick neu gestartet werden. Im rEFIt-Menü wird der USB-Stick als Startmedium angezeigt. Wenn man diesen auswählt und mit ⏎ bestätigt, wird das GRUB2-Menü angezeigt. Hier kann nun das Bootsystem auswählt werden (standardmäßig sollte “A” gewählt werden). Wenn der Bootvorgang nicht korrekt abläuft, muss die Datei grub.cfg angepasst werden (siehe grub.cfg).
32-Bit¶
Für 32bit-Systeme kopiert man auch erst den efi-Ordner auf den USB-Stick. Allerdings muss nun im Unterordner boot die Datei bootx64.efi in bootia32.efi umbenannt werden. Das selbe gilt für eine etwaige Icon Datei. Auch diese muss von bootx64.icns in bootia32.icns umbenannt werden.
Nun lädt man sich ein aktuelles 32bit-ISO-Image herunter, z.B. ubuntu-9.10-desktop-i386.iso (Downloads). Auch hier muss das ISO-Image (ohne es zu entpacken!) in den Hauptordner des USB-Sticks geschoben werden.
Anschließend editiert man auf dem Stick im Ordner efi/boot/ die Datei grub.cfg. Dort werden alle “ubuntu-9.10-desktop-amd64.iso”-Einträge durch den Dateinamen des ISO-Images, also z.B. durch ubuntu-9.10-desktop-i386.iso, ersetzt.
Jetzt kann der Mac bei eingestecktem USB-Stick neu gestartet werden. Im rEFIt-Menü wird der USB-Stick als Startmedium angezeigt. Wenn man diesen auswählt und mit ⏎ bestätigt, wird das GRUB2-Menü angezeigt. Hier kann nun das Bootsystem auswählt werden (standardmäßig sollte "A" gewählt werden).
grub.cfg¶
Wenn der Mac in das GRUB2-Menü startet, ist dies ein sicheres Zeichen, dass man einen kompatiblen Bootloader verwendet. Dennoch kann es notwendig sein, die Datei grub.cfg auf die Hardware des Apple-Rechners anzupassen.
Die Standardversion von grub.cfg hat den folgenden Inhalt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | ## grub.cfg menuviewer="text" timeout=20 default=0 set F1=ctrl-x set color_normal=yellow/red menuentry "reboot from grub.cfg fat usb " { reboot } menuentry "use /grub2.cfg" { search --set -f /grub2.cfg configfile /grub2.cfg } menuentry "OSX" { search --set -f /usr/standalone/i386/boot.efi chainloader /usr/standalone/i386/boot.efi } menuentry "A ubuntu-9.10-desktop-amd64.iso " { fakebios search --set -f /ubuntu-9.10-desktop-amd64.iso loopback loop /ubuntu-9.10-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso noefi initrd (loop)/casper/initrd.gz } menuentry "B ubuntu-9.10-desktop-amd64.iso fbdev " { fakebios search --set -f /ubuntu-9.10-desktop-amd64.iso loopback loop /ubuntu-9.10-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso video=efifb fbdev noefi single initrd (loop)/casper/initrd.gz } menuentry "C ubuntu-9.10-desktop-amd64.iso fbdev persistent" { fakebios search --set -f /ubuntu-9.10-desktop-amd64.iso loopback loop /ubuntu-9.10-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso persistent video=efifb fbdev noefi initrd (loop)/casper/initrd.gz } menuentry "D slax iso console" { fakebios search --set -f /slax-6.1.2.iso loopback iso /slax-6.1.2.iso linux (iso)/boot/vmlinuz from=/slax-6.1.2.iso ramdisk_size=6666 root=/dev/ram0 rw initrd (iso)/boot/initrd.gz } menuentry "E slax iso console persistent" { fakebios search --set -f /slax-6.1.2.iso loopback iso /slax-6.1.2.iso linux (iso)/boot/vmlinuz from=/slax-6.1.2.iso ramdisk_size=6666 root=/dev/ram0 rw changes=slaxper.dat initrd (iso)/boot/initrd.gz } menuentry "CD" { appleloader CD } menuentry "MBR1" { appleloader HD } menuentry "REBOOT" { reboot } |
Die Einträge A-C beziehen sich auf Ubuntu, die Einträge D und E werden bei einer Slax-Distribution verwendet.
Beispielsweise kann es vorkommen, dass nach der Auswahl der Bootoption A der Mac nicht richtig ins Live-System bootet. Das Auswahlmenü wird hierbei permanent angezeigt, und der Rechner hängt scheinbar. Auch der USB-Stick blinkt nicht mehr. Dennoch ist es möglich in diesem Stadium Befehle einzugeben. Diese werden allerdings nicht am Bildschirm zurückgegeben. Es ist aber trotzdem möglich, den Rechner z.B. per
sudo reboot
neuzustarten.
Das Problem liegt in den meisten Fällen an den Grafikchipsätzen der Appel-Rechner, so dass X nicht richtig gestartet werden kann.
Wählt man die Bootoption "B *.iso fbdev", werden alle Systemmeldung während des Startvorgangs am Bildschirm ausgegeben, und der Mac bootet in eine Root-Shell. Diese kann dann zur Problembehebung verwendet werden.
Ab Ubuntu 9.10 Karmic Koala¶
Ab Version 9.10 ist die initrd mit lz gepackt und hat daher nicht mehr die Endung .gz sondern .lz. Die Datei grub.cfg muss daher wie folgt angepasst werden:
1 2 3 4 5 6 7 8 | menuentry “A ubuntu-9.10-desktop-amd64.iso ” { fakebios fix_video search –set -f /ubuntu-9.10-desktop-amd64.iso loopback loop /ubuntu-9.10-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso noefi initrd (loop)/casper/initrd.lz } |
Bootparameter¶
Im Folgenden werden die Bootparameter nach Mac-Modellen aufgelistet. Um herauszufinden welches Modell vorliegt, tippt man unter Ubuntu folgendes in die Kommandozeile:
sudo dmidecode -s system-product-name
Standardkonfiguration¶
Hinweis:
Folgende Modelle booten mit dem Paket bootusb.tar.gz aus dem Ubuntuforum 🇬🇧 ohne weitere Konfiguration ins Live-System:
MacPro1,1
Anpassung 1¶
Hinweis:
Diese Anpassung funktioniert auf folgenden Modellen:
Macbook1,1
MacbookPro4,1
Andere Modelle werden eventuell auch unterstützt (bitte nachtragen).
Zunächst muss in grub.cfg für die Einträge A-C jeweils unter fakebios zusätzlich fix_video geschrieben werden. Somit sieht Eintrag A für 64bit-Systeme beispielsweise so aus:
1 2 3 4 5 6 7 8 | menuentry "A ubuntu-9.10-desktop-amd64.iso " { fakebios fix_video search --set -f /ubuntu-9.10-desktop-amd64.iso loopback loop /ubuntu-9.10-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso noefi initrd (loop)/casper/initrd.gz } |
Man Startet den Mac mittels USB-Stick und der Auswahl "B *.iso fbdev". Wenn Ubuntu in die Kommandozeile gestartet ist, sollte zunächst der GNOME Display Manager gestoppt werden:
sudo /etc/init.d/gdm stop
Jetzt muss die Datei /etc/X11/xorg.conf mit einem Editor mit Root-Rechten [2] angepasst werden.
Nun ergänzt man die Section "Device" um den Eintrag Driver "fbdev":
1 2 3 4 5 | Section "Device" (...) Driver "fbdev" (...) EndSection |
Die Datei wird gespeichert und der Editor beendet. Anschließend wird der GNOME Display Manager neu gestartet [1]:
sudo /etc/init.d/gdm restart
Das graphische Live-System fährt hoch.
Skript¶
Man kann diesen Vorgang mit etwas Aufwand auch automatisieren. Hierfür startet man den Mac vom USB-Stick und wählt im GRUB2-Menü den Eintrag "C *.iso fbdev persistent". Der Mac bootet nun vom USB-Stick in eine Live-Root-Shell. Das Live-System mountet den USB-Stick automatisch ins Verzeichnis /isodevice. Man wechselt in dieses Verzeichnis und erstellt ein 512MB große casper-rw Partition:
sudo su cd /isodevice dd if=/dev/zero of=casper-rw bs=1M count 512 mkfs.ext3 -F casper-rw
Anschließend wird die Datei /etc/X11/xorg.conf unter neuem Namen abgespeichert [1]
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-fbdev
und mit einem Editor mit Root-Rechten [2] bearbeitet
Hier ergänzt man die Section "Device" um den Eintrag Driver "fbdev":
1 2 3 4 5 | Section "Device" (...) Driver "fbdev" (...) EndSection |
Die Datei wird gespeichert und der Editor beendet.
Nun erstellt man sich im Live-Benutzerverzeichnis mit Hilfe eines Editors ein Hilfsskript mit dem Namen swxconfig
Diese erhält den folgenden Inhalt:
1 2 3 | #!/bin/sh cd /etc/X11 grep fbdev /proc/cmdline >/dev/null && cp xorg.conf-fbdev xorg.conf |
Das Skript überschreibt beim Bootvorgang die Live-Datei xorg.conf mit der eben erstellten Version xorg.conf-fbdev. Ausgelöst wird das Skript immer dann, wenn im GRUB2-Menü eine Bootoption den Parameter "fbdev" enthält. Dies ist beispielweise bei Option B und C in grub.cfg der Fall.
Das Skript wird nun ausführbar gemacht und in den Ordner /etc/init.d/ kopiert:
chmod +x swxconfig cp swxconfig /etc/init.d/
Im Ordner /etc/rc2.d/ wird nun ein symbolischer Link auf das Skript gesetzt:
cd /etc/rc2.d/ ln -s ../init.de/swxconfig S20swxconfig
Jetzt kann der Mac mit dem USB-Stick gestartet werden. Im GRUB2-Menü muss die Option "C *.iso fbdev persistent" gewählt werden. Nun startet der Mac ins grafische Live-System.
Probleme¶
Es kann passieren, dass im rEFIt-Menü der Stick nicht angezeigt wird. Hier kann es helfen, den Mac mit gedrückter Alt -Taste zu booten. Dies hat zwei mögliche Resultate:
Es wird der USB-Stick direkt angezeigt
Es werden "nur" die bootbaren Partitionen der Festplatte angezeigt. Wenn hier die Platte "rEFIt" ausgewählt wird, erscheint das rEFIt-Menü, welches nun auch den USB-Stick erkannt hat
Weiterhin treten Probleme mit der Grafik auf dem MacBook Pro Modell 1,1 auf. Auch beim Start in die Root Shell tretten Verzerrungen auf sodass keine Bedienung möglich ist (Sowohl mit fix_video als auch ohne).
Links¶