Amigaharry
Kult Mitglied
Hinweis: Dieses Tutorium setzt die Kenntnis des Tutorials über Multibootsysteme, ebenfalls hier im Forum, teilweise voraus. Zumindest ist es für das Verständnis sehr hilfreich! Dieses Tutorium wurde nach bestem Wissen und Gewissen geschrieben - ich kann aber keine Garantie für daraus resultierende Fehler, Schäden, etc. übernehmen.
Wie im Tutorial "Multibootsysteme für Mac/Peg/Efika" bereits erwähnt, gibt es Situationen, in denen man ein Betriebsystem nicht auf die internen Datenträger schaufeln möchte. Das kann z.B. auf einem Powerbook oder Mini der Fall sein, wenn man ein weiters Betriebssystem (MOS oder MacOSX) nur selten nutzen will und die interne HD zu klein ist, man sich eine Neuinstallation nicht antun möchte oder das System zerschossen hat. Um besser zu verstehen, worum es hier geht, ist es sinnvoll sich das Multiboot-Tutorium einmal anzusehen (ich weis - viel zu lesen!). Zumindest sollte man wenigstens wissen was die OpenFirmware (OF) und ihre Konsole ist und was sie tut.
Bitte lest auch die Bereiche, die nicht euren Rechner betreffen - manches Allgemeingültige wird nicht bei jedem Gerät nochmals erklärt! Und ein bischen über den Tellerrand schauen, schadet auch nicht.
Der Weg, Betriebssysteme von externen Datenträgern oder Netzwerken zu laden/booten/hochfahren ist nicht immer einfach. Jedes System hat da so seine "Eigenheiten" - sehen wir uns das der Reihe nach an.
PowerMAC (G4/G5) (Firewire, USB, Network-Boot)
Powermacs mit Firewireport können zumindest MacOS und Linux von dort booten. MorphOS geht nicht, da der (Quark)Kernel keinen FW-Stack integriert hat. Dieser kann erst später nach, dem Hochfahren von HD gestartet werden (-> siehe Helios, der MOS-FW-Stack). Wir könnten zwar den Kernel booten, aber dann gehts nicht weiter.
Wenn MacOSX oder Linux auf dem externen FW-Datenträger richtig installiert wurde, dann taucht es im graphischen Multiboot-Mode (
Nun hat aber nicht jeder eine FW-HD zur Verfügung (wobei die Dinger meist auch noch recht klobig daherkommen). Wäre doch fein von USB. z. B. einer Platte oder Stick booten zu können, oder? Wobei der Stick natürlich in der Geschwindigkeit nicht mit einer HD mithalten kann - aber wenn man's nicht dauernd braucht, reicht's auch.
Fein, - nur blöderweise hat Apple scheinbar etwas dagegen. Es gibt keinen USB-Eintrag im Multiboot-Mode und auch keinen Target-Mode dafür! Allerdings haben sich die Apple-Systementwickler eine Hintertür in der OF offen gelassen, und durch die werden wir gehen.
Die OF stellt ja zu (fast) allen wichtigen Devices des Mac ein Alias mit dem zugehörigen Hardwarepfad zur Verfügung. Bei den neueren OF-Versionen klappert die OF die USB-Ports ab und schaut nach, ob da was lesbares steckt. Die OF erkennt HFS, HFS+ und FAT Datenträger. Wenn was da ist, wird ein logisches Device ud zu diesem Port angelegt. Ältere OF-Versionen machen das jedoch nicht und haben in Bezug zu Sticks auch noch gewisse Einschränkungen - dazu später.
Damit kann man von ud aus der OF-Konsole heraus booten was man will (wie der Datenträger partitioniert/formatiert und bespielt sein muss siehe Multiboot-Tutorial)!
Beispiel MorphOS:
Das lädt nun das boot.img (also den MorphOS-Kernel) vom Stick und startet dann das System vom Device USB_System (das ist der Device-Name des Sticks, wie er in HDConfig vergeben wurde - NICHT der Name beim Formatieren! Nach dem Namen kommt KEIN ":" ). Ramdebug lenkt die Debugausgabe ins RAM: um.
Beispiel OSX:
Das bootet MacOSX vom USB-Stick. Logischerweise dürft ihr den Stick niemals rausnehmen, solange das Betriebssystem aktiv ist (macht man nur einmal - dann fängt man mit dem Einrichten wieder von vorne an!)
Soweit so gut. Aber was macht man mit einem Mac der ud nicht anlegt? Da müssen wir uns dann die USB-Ports mit ihrer Hardwareadresse direkt ansehen - man muss den Richtigen zuerst einmal finden!
In der Tabelle der Devicealiase werden aber bei jedem Mac die USB-Ports aufgelistet (z.B. Powerbook 15")
An der Adresse des PCI-Busses ( /pci@f2000000) hängen alle i/o-Geräte. Diese Firmware legt zumindest bereits fixe Adresspfade an - das macht es leichter. Das PB hat nur 2 USB-Ports. Der 3. und 4. ist intern verwendet (einer zur Kommunikation mit der AGP-GRA-Karte). Grundsätzlich muss man sich nun auf einen bestimmten Port beschränken - ich nehme immer den linken bei Powerbooks. Jetzt muss man rausfinden welcher (usb0, usb1, usb2, usb3) das ist. Am einfachsten gehts, wenn man einen Stick in den linken Port steckt und versucht den Inhalt zu lesen. Aber Achtung: manche OF-Versionen mögen keine Sticks mit >4GB und/oder für USB3 geeignete Sticks. Gut geht's mit einem älteren, FAT-formatiertem Stick. Diese Einschränkung gilt auch für USB-HDs: Es können meist nur Partitionen <2GB (bzw. <4GB) gelesen werden. Scheinbar wurden die neuesten Entwicklungen immer "on the fly" in die OF-Versionen eingepflegt. Bitte vorerst auch nur Sticks mit 1 Partion verwenden und irgendwelche Dateien aufspielen - das erleichtert das Suchen sehr.
Wichtig: Der Stick muss schon beim Einschalten eingesteckt sein - sonst sieht ihn die OF nicht und erkennt auch keinen Wechsel (interessantes "Feature" und sogar für was gut -> siehe weiter unten).
Also Stick einstecken, einschalten und in die OF-Konsole gehen und alle Ports ausprobieren:
Und jetzt hoffen, das was angezeigt wird (hoffentlich das Verzeichnis) und nicht nur "no such device" ausgegeben wird. Kommt nur ein schlichtes "OK" zurück, ist da was, aber er kann's nicht lesen. Kommt "dir method failed" habt ihr einen Syntax-Fehler oder ihr versucht ein nicht lesbares Gerät auszulesen. Bei "can't open DIR device" steckt in dem Port nichts.
Im Fall dieses PB ist der linke Port usb0 (äquivalent zu usb-2a). Somit würde die Bootsequenz, analog zu oben, so aussehen (MorphOS):
Was aber, wenn gar kein USB-Eintrag in devalias auftaucht (auch das gibts)? Dann muss man sich den Hardware-Baum in der OF ansehen.
Das geht mit Eingabe von
Jetzt kommt folgende Liste (nur auszugsweise dargestellt, da sehr lange):
Hier sieht man schon wo die USB-Ports liegen. Und man sieht auch gleich, das usb1 (usb@15,1) intern für Tastatur und Maus (Trackpad) verwendet wird.
Unser Pfad lautet jetzt:
Bitte beachtet das dieser Adresspfad hier nur exemplarisch (hier für ein 15" PB) ist, und bei eurem Mac ganz anders lauten kann!
Wie im Tutorial "Multibootsysteme für Mac/Peg/Efika" bereits erwähnt, gibt es Situationen, in denen man ein Betriebsystem nicht auf die internen Datenträger schaufeln möchte. Das kann z.B. auf einem Powerbook oder Mini der Fall sein, wenn man ein weiters Betriebssystem (MOS oder MacOSX) nur selten nutzen will und die interne HD zu klein ist, man sich eine Neuinstallation nicht antun möchte oder das System zerschossen hat. Um besser zu verstehen, worum es hier geht, ist es sinnvoll sich das Multiboot-Tutorium einmal anzusehen (ich weis - viel zu lesen!). Zumindest sollte man wenigstens wissen was die OpenFirmware (OF) und ihre Konsole ist und was sie tut.
Bitte lest auch die Bereiche, die nicht euren Rechner betreffen - manches Allgemeingültige wird nicht bei jedem Gerät nochmals erklärt! Und ein bischen über den Tellerrand schauen, schadet auch nicht.
Der Weg, Betriebssysteme von externen Datenträgern oder Netzwerken zu laden/booten/hochfahren ist nicht immer einfach. Jedes System hat da so seine "Eigenheiten" - sehen wir uns das der Reihe nach an.
PowerMAC (G4/G5) (Firewire, USB, Network-Boot)
Powermacs mit Firewireport können zumindest MacOS und Linux von dort booten. MorphOS geht nicht, da der (Quark)Kernel keinen FW-Stack integriert hat. Dieser kann erst später nach, dem Hochfahren von HD gestartet werden (-> siehe Helios, der MOS-FW-Stack). Wir könnten zwar den Kernel booten, aber dann gehts nicht weiter.
Wenn MacOSX oder Linux auf dem externen FW-Datenträger richtig installiert wurde, dann taucht es im graphischen Multiboot-Mode (
ALT
beim Booten/Einschalten gedrückt halten) des Mac auf und kann von dort aus gestartet werden oder man zwingt den Mac gleich in den Target-Mode (T
beim Booten gedrückt halten), wodurch er sofort von FW bootet. Bei den ALT
-Tasten könnte es bei PC-Tastaturen Problem geben. Zum Glück geht das auch aus der OF-Konsole heraus:> multi-boot
[Enter]> target-mode
[Enter]Nun hat aber nicht jeder eine FW-HD zur Verfügung (wobei die Dinger meist auch noch recht klobig daherkommen). Wäre doch fein von USB. z. B. einer Platte oder Stick booten zu können, oder? Wobei der Stick natürlich in der Geschwindigkeit nicht mit einer HD mithalten kann - aber wenn man's nicht dauernd braucht, reicht's auch.
Fein, - nur blöderweise hat Apple scheinbar etwas dagegen. Es gibt keinen USB-Eintrag im Multiboot-Mode und auch keinen Target-Mode dafür! Allerdings haben sich die Apple-Systementwickler eine Hintertür in der OF offen gelassen, und durch die werden wir gehen.
Die OF stellt ja zu (fast) allen wichtigen Devices des Mac ein Alias mit dem zugehörigen Hardwarepfad zur Verfügung. Bei den neueren OF-Versionen klappert die OF die USB-Ports ab und schaut nach, ob da was lesbares steckt. Die OF erkennt HFS, HFS+ und FAT Datenträger. Wenn was da ist, wird ein logisches Device ud zu diesem Port angelegt. Ältere OF-Versionen machen das jedoch nicht und haben in Bezug zu Sticks auch noch gewisse Einschränkungen - dazu später.
Damit kann man von ud aus der OF-Konsole heraus booten was man will (wie der Datenträger partitioniert/formatiert und bespielt sein muss siehe Multiboot-Tutorial)!
Beispiel MorphOS:
> boot ud:,\boot.img ramdebug BD=USB_System
[Enter]Das lädt nun das boot.img (also den MorphOS-Kernel) vom Stick und startet dann das System vom Device USB_System (das ist der Device-Name des Sticks, wie er in HDConfig vergeben wurde - NICHT der Name beim Formatieren! Nach dem Namen kommt KEIN ":" ). Ramdebug lenkt die Debugausgabe ins RAM: um.
Beispiel OSX:
>boot ud:,\\:tbxi
[Enter]Das bootet MacOSX vom USB-Stick. Logischerweise dürft ihr den Stick niemals rausnehmen, solange das Betriebssystem aktiv ist (macht man nur einmal - dann fängt man mit dem Einrichten wieder von vorne an!)
Soweit so gut. Aber was macht man mit einem Mac der ud nicht anlegt? Da müssen wir uns dann die USB-Ports mit ihrer Hardwareadresse direkt ansehen - man muss den Richtigen zuerst einmal finden!
In der Tabelle der Devicealiase werden aber bei jedem Mac die USB-Ports aufgelistet (z.B. Powerbook 15")
pci0 /pci@f0000000
agp /pci@f0000000
pci1 /pci@f2000000
pci2 /pci@f4000000
uni-n /uni-n
ui2c /uni-n/i2c
ui2c-serial /uni-n/i2c/cereal
keyboard /pseudo-hid/keyboard
mouse /pseudo-hid/mouse
sound /pseudo-sound
eject-key /pseudo-hid/eject-key
nvram /nvram
enet /pci@f4000000/ethernet
fw /pci@f4000000/firewire
cpu0 /cpus/@0
cpu1 /cpus/@1
pci /pci@f2000000
usb-2a /pci@f2000000/@15
usb-2b /pci@f2000000/@15,1
usb-2c /pci@f2000000/@15,2
mac-io /pci@f2000000/mac-io@17
mpic /pci@f2000000/mac-io@17/interrupt-controller
scca /pci@f2000000/mac-io@17/escc/ch-a
sccb /pci@f2000000/mac-io@17/escc/ch-b
ki2c /pci@f2000000/mac-io@17/i2c
ki2c-serial /pci@f2000000/mac-io@17/i2c/cereal
via-pmu /pci@f2000000/mac-io@17/via-pmu
rtc /pci@f2000000/mac-io@17/via-pmu/rtc
pi2c /pci@f2000000/mac-io@17/via-pmu/pmu-i2c
wireless /pci@f2000000/mac-io@17/@30000
cb /pci@f2000000/cardbus@14
fan /uni-n/i2c/i2c-bus@0/fan
usb0 /pci@f2000000/@15
usb1 /pci@f2000000/@15,1
usb2 /pci@f2000000/@15,2
hd /pci@f4000000/ata-6@d/disk@0
cd /pci@f4000000/ata-6@d/disk@1
first-boot /pci@f4000000/ata-6@d/disk
last-boot /pci@f4000000/ethernet
screen /pci@f0000000/ATY,JasperParent@10/ATY,Jasper_A@0
An der Adresse des PCI-Busses ( /pci@f2000000) hängen alle i/o-Geräte. Diese Firmware legt zumindest bereits fixe Adresspfade an - das macht es leichter. Das PB hat nur 2 USB-Ports. Der 3. und 4. ist intern verwendet (einer zur Kommunikation mit der AGP-GRA-Karte). Grundsätzlich muss man sich nun auf einen bestimmten Port beschränken - ich nehme immer den linken bei Powerbooks. Jetzt muss man rausfinden welcher (usb0, usb1, usb2, usb3) das ist. Am einfachsten gehts, wenn man einen Stick in den linken Port steckt und versucht den Inhalt zu lesen. Aber Achtung: manche OF-Versionen mögen keine Sticks mit >4GB und/oder für USB3 geeignete Sticks. Gut geht's mit einem älteren, FAT-formatiertem Stick. Diese Einschränkung gilt auch für USB-HDs: Es können meist nur Partitionen <2GB (bzw. <4GB) gelesen werden. Scheinbar wurden die neuesten Entwicklungen immer "on the fly" in die OF-Versionen eingepflegt. Bitte vorerst auch nur Sticks mit 1 Partion verwenden und irgendwelche Dateien aufspielen - das erleichtert das Suchen sehr.
Wichtig: Der Stick muss schon beim Einschalten eingesteckt sein - sonst sieht ihn die OF nicht und erkennt auch keinen Wechsel (interessantes "Feature" und sogar für was gut -> siehe weiter unten).
Also Stick einstecken, einschalten und in die OF-Konsole gehen und alle Ports ausprobieren:
>dir usb0/disk@1:,\
>dir usb1/disk@1:,\
>dir usb2/disk@1:,\
Und jetzt hoffen, das was angezeigt wird (hoffentlich das Verzeichnis) und nicht nur "no such device" ausgegeben wird. Kommt nur ein schlichtes "OK" zurück, ist da was, aber er kann's nicht lesen. Kommt "dir method failed" habt ihr einen Syntax-Fehler oder ihr versucht ein nicht lesbares Gerät auszulesen. Bei "can't open DIR device" steckt in dem Port nichts.
Im Fall dieses PB ist der linke Port usb0 (äquivalent zu usb-2a). Somit würde die Bootsequenz, analog zu oben, so aussehen (MorphOS):
> boot usb0/disk@1:,\boot.img ramdebug BD=USB_System
[Enter]Was aber, wenn gar kein USB-Eintrag in devalias auftaucht (auch das gibts)? Dann muss man sich den Hardware-Baum in der OF ansehen.
Das geht mit Eingabe von
> dev / ls
[Enter]Jetzt kommt folgende Liste (nur auszugsweise dargestellt, da sehr lange):
.
------
------
ff9e0e30: /ATY,sensor-parent@3
ff9e0fe8: /gpu-sensor@6,0
ff97fed0: /pci@f2000000
ff9822b0: /mac-io@17
ff983740: /interrupt-controller@40000
ff9839b8: /gpio@50
ff983f78: /modem-reset@1d
------
------
------
ff9a11c0: /pci106b,4318@11
ff9a14a8: /cardbus@14
ff9a52e8: /usb@15
ff9e25a0: /disk@1
ff9e2988: /device@2
ff9e2b38: /keyboard@0
ff9e2e78: /mouse@1
ff9adc60: /usb@15,1
ff9e13b8: /device@1
ff9e15b0: /keyboard@0
ff9e18f0: /mouse@1
ff9e1c28: /device@2
ff9e1e48: /keyboard@0
ff9e2188: /mouse@1
ff9e2430: /interface@2
ff9b65d8: /usb@15,2
ff9810d8: /pci@f4000000
ff9b6af8: /ata-6@d
ff9b9ce0: /disk
ff9ba348: /firewire@e
ff9c9a98: /ethernet@f
ff9e4698: /ethernet-phy
Hier sieht man schon wo die USB-Ports liegen. Und man sieht auch gleich, das usb1 (usb@15,1) intern für Tastatur und Maus (Trackpad) verwendet wird.
Unser Pfad lautet jetzt:
> boot /pci@f2000000/usb@15/disk@1:,\boot.img ramdebug BD=USB_System
[Enter]Bitte beachtet das dieser Adresspfad hier nur exemplarisch (hier für ein 15" PB) ist, und bei eurem Mac ganz anders lauten kann!
Zuletzt bearbeitet: