ubuntuusers.de

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:

Die neueren Modelle sind alle 64bit-fähig. Ältere Modelle wie das Macbook(Pro)1,1 und das MacBookPro1,2 benötigen ein 32bit-Image.

Wiki/Icons/ubuntu64.png

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

Diese Revision wurde am 18. März 2012 10:49 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, Installation, System