[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(3)]] 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 [http://grub.enbug.org GRUB2EFI-Projekt] {en} 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 [http://refit.sourceforge.net/ 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 [[Vorlage(Tasten, 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 [http://ubuntuforums.org/showpost.php?p=7926629&postcount=7 englischen Ubuntuforum] {en} zur Verfügung. Informationen über die aktuelle Entwicklung sowie zur Problemlösung erhält man ebenfalls auf der englischen Seite [http://ubuntuforums.org/showthread.php?t=995704 ubuntuforums.com] {en}. Wer den Bootloader selber kompilieren möchte erhält auf der [http://grub.enbug.org/TestingOnEFI englischen Projektseite] {en} 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 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. {{{#!vorlage Hinweis Die neueren Modelle sind alle [#64-Bit 64bit]-fähig. Ältere Modelle wie das Macbook(Pro)1,1 und das MacBookPro1,2 benötigen ein [#32-Bit 32bit]-Image. }}} [[Bild(Wiki/Icons/ubuntu64.png,64, align=right)]] == 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 [[Vorlage(Tasten, RETURN)]] 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 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 [[Vorlage(Tasten, RETURN)]] 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: {{{#!code bash ## 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 {{{#!vorlage Befehl 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: {{{#!code bash 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: {{{#!vorlage Befehl sudo dmidecode -s system-product-name }}} ===Standardkonfiguration=== {{{#!vorlage Hinweis Folgende Modelle booten mit dem Paket '''bootusb.tar.gz''' aus dem [http://ubuntuforums.org/showpost.php?p=7926629&postcount=7 Ubuntuforum] {en} ohne weitere Konfiguration ins Live-System: * MacPro1,1 }}} ===Anpassung 1=== {{{#!vorlage 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: {{{#!code bash 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: {{{#!vorlage Befehl 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"'': {{{#!code bash Section "Device" (...) Driver "fbdev" (...) EndSection }}} Die Datei wird gespeichert und der Editor beendet. Anschließend wird der GNOME Display Manager neu gestartet [1]: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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] {{{#!vorlage Befehl 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"'': {{{#!code bash 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: {{{#!code bash #!/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: {{{#!vorlage Befehl chmod +x swxconfig cp swxconfig /etc/init.d/ }}} Im Ordner '''/etc/rc2.d/''' wird nun ein symbolischer Link auf das Skript gesetzt: {{{#!vorlage Befehl 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 [[Vorlage(Tasten, 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= * [http://ubuntuforums.org/showthread.php?t=995704 grub2 EFI boot loader internal/external booting] {en} * [http://blog.christophersmart.com/2009/07/23/linux-on-an-apple-xserve-efi-only-machine/ Linux on an apple xserve efi only machine] {en} #tag: Hardware,System, Installation