I have a question regarding Sun OpenFirmware
that's been bugging me
for some time now. [...]
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?
It can't obtain anything but its own address via rarp. It normally
gets its TFTP server's address via bootparams, I think, at least for
older machines (newer ones may use something else for all I know).
It's possible that it initially queries whoever answered its RARP, but
if it gets no answer it broadcasts the query - and I think it
broadcasts the TFTP request too if necessary.
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.
Yes, except that the space available in the NVRAM is fairly limited as
I understand it.
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;
They appear to be some kind of headerless something. There's one of
the words internal to see that can deal with them - (see or some such -
and you can use it as in
ok see foo
... (f28470c0) ...
ok f284709c0 (see
... that word ...
(or whatever the internal word is - it's visible in "see see").
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B