Die OpenFirmware selbst ist in Forth geschrieben, eigene Programme müssen auch in Forth verfasst werden.
Um den Bootloader zu finden gibt es 3 OpenFirmware Variablen:
boot-device diese enthält den Pfad zum Device von dem gebootet werden soll boot-file Datei die als Bootloader geladen wird, kann leer sein boot-command Kommando welches zum booten aufgerufen wird, meist ist es "boot"Ein Device-Pfad auf neueren Rechner könnte zum Beispiel so aussehen:
/pci@f2000000/mac-io@17/ata-4@1f000/disk@0:10,\\yabootBei älteren Rechnern wird keine Datei von Platte geladen sondern das interne ROM gestartet:
/AAPL,ROM(Auf älteren Rechnern ist das booten aus der OpenFirmware theoretisch möglich aber Sie wollen lieber BootX oder MiBoot verwenden. Trust me ;) )
Das letzte @ und das Komma ist ein Trenner. \\ stellt den aktiven Systemordner dar.
Das Komma trennt den Dateinamen des Bootloaders vom Device, der Klammeraffe @ trennt das Device vom Controller.
In diesem Beispiel wird die Datei yaboot aus dem aktiven Systemordner von der 10. Partition auf der ersten IDE Platte am ATA Controller geladen.
Mit setenv boot-device kann man einen anderen Pfad einstellen, einfacher ist die Verwendung des Kontrollfeldes "Startupvolume". Allerdings setzt dies vorraus das die Partition einen bootbaren Ordner enthält.
Kommandos die zum Debuggen sinnvoll sind:
printenv Zeigt die aktuelen Variablen dev / ls Zeigt den Device-Tree. devalias Zeigt die Device-Aliase und die entsprechenden OpenFirmware Pfade. shut-down Schaltet den Rechner aus.Diese Aliase vereinfachen den Zugriff auf häufig benutzte Devices.
hd oder ultra0 ist die erste IDE-Festplatte ultra1 ist die zweite Festplatte cd ist das CD-RomNicht jeder Alias zeigt auf ein tatsächlich vorhandenes Device.