MacOS/OpenFirmware

From Segfault
Jump to navigation Jump to search

Booting

Reboot and enter the Open Firmware (OF) prompt[1] by pressing:

Command⌘ + Option + O + F

While we're at it, maybe disable auto-boot for now, so that don't have to use this key combination to enter OF:

> setenv auto-boot? false

USB

At the prompt, we need to find the correct USB device to boot from:

boot usb1/disk@1:,\\yaboot

This may or may not work, depending on where in the device tree[2] our USB drive is located. Let's have a look:

> dev / ls
[...]
/pci@f2000000
   /usb@1b,1
      /disk@1

We can also create an alias for easier access:

> devalias ud /pci@f2000000/usb@1b,1/disk@1

Let's see if this works:

> dir ud:\
FreeBSD Bootstrap
    Size/        GMT                     File/Dir
    bytes   date     time   TYPE CRTR    Name
          01/01/1904 00:00:00            *ppc

Let's take a step back and see if we already have a fitting alias:

> devalias
[...]
usb0      /pci@f2000000/usb@1b,1

> dir usb0/disk@1:\

Now that we have found the correct USB device, let's try to boot. To boot a Linux system:

> boot usb0/disk@1:,\\yaboot

For MacOS systems, use \\tbxi instead. If this doesn't work, try[3]:

> boot usb0/disk@1:3,\System\Library\CoreServices\BootX 

For NetBSD[4], use:

> boot usb0/disk@1:,ofwboot.xcf netbsd.macppc

For OpenBSD:[5]

> boot usb0/disk@1:,ofwboot /6.1/macppc/bsd.rd

FreeBSD [6] will need to know the kernel location[7] too:

> boot usb0/disk@1:,\ppc\loader usb0/disk@1:0

CDROM

A similar approach can be used when booting from CDROM:

> dev / ls
[...]
/pci@f2000000
   /mac-io@17
      /ata-3@2000

/pci@f4000000
   /ata-6@d
      /disk

> devalias
[...]
mac-io      /pci@f2000000/mac-io@17
cd          /pci@f2000000/mac-io@17/ata-3@2000/disk@0

Once the correct device has been found, it can be booted a seen above.

Network

TBD

boot enet:<server IP>,<file>,<my IP>;<subnet>,;<gateway IP>

Reset

If aliases are mangled and we want to start from scratch, try resetting the NVRAM:

reset-nvram
set-defaults
reset-all

Or via:[8]

Command⌘ + Option + P + R                       # For PRAM  
Command⌘ + Option + N + V                       # For NVRAM

Telnet

If the telnet package is installed, we can access the OF prompt remotely[9]:

> dev /packages/telnet  ok
> " enet:telnet,10.0.0.123" io

Upon connect, the screen may go blank.

References