Stan Barr <stanb at dial.pipex.com> wrote:
(...) Open Firmware - a superset of ANS-Standard
Forth used for
detecting and setting up the hardware etc. on Sun, Apple and some
IBM machines. It can be accessed from the console as well, allowing
you to probe and set up hardware manually should you need to, or
as a normal Forth of course...
This seems like a good time to tap into the collective knowledge on this
list once more...
I have a question regarding Sun OpenFirmware that's been bugging me for
some time now. I'm still struggling for a setup that allows a Sun to netboot
off a Windows 9x PC (just get a bootstrap, no fancy NFS exports required).
I'm making do with SuSE Linux 7.0 dual-boot right now, but that's not it.
What I'm imagining here is to have a look at the code that is responsible
for the netbooting operation of the Sun. Why does it have to obtain the
machine's IP, that of the tftp server and what else via rarp? I'm by no
means a Sun expert yet, but as I've understood it, you can define your own
FCode commands and store them in NVRAM, so one could modify the boot code to
use parameters stored in environment variables, either if a flag
"use-stored-IP?" is set or as a fallback if there's no rarp server around.
I've already got myself a Forth book and the FCode manuals from Sun, and I
had a look at some commands with "see". "see" however often spits
out
hexadecimal codes in parenthesis amidst of Forth words and I've yet to
understand what they mean; the manual addresses the problem only far enough
to tell that this doesn't happen if words are defined with the "headers"
directive.
If somebody has been involved with FCode stuff far enough to give me some
initial guidance, please contact me. Thanks in Advance.
You probably want to look at IEEE 1275 and various related specs. '1275
was the IEEE spec that defines the open firmware specification. The
best web site for it is:
BTW the "hex" codes you're seeing are the byte codes defined by Open
Firmware. It is also true that to fully understand Open Firmware you
not only need to have a good understanding of forth but of the Open
Firmware environment.