I have been given the opportunity to build a linux cluster
out of a student lab with dual processor G4 machines.
Since it is a student lab, the machines need to boot
the default OS (macos9) if all else fails, but
ideally boot linux when reset at night.
To this end, I want the open firmware to boot using
this command "boot enet:192.168.2.1,yaboot.hack"
at night, but using "boot hd:\\:tbxi" by day.
This can be achieved with a boot script that
after bringing up the DHCP interface, tries
to get a file with tftp and if it fails then it boots
from the harddrive. Unfortunately, the dang thing
sits in the tftp attempt forever. Well at least ten minutes
before i crash it and try some more forth stuff.
So I have been learnign a ton of forth and how
to manipulate OF but I still can't figure out how
to set the tftp-retries variable.
If someone could give me a pointer or two
I would reatly appreciate it.
Passing "boot enet:192.168.2.1,yaboot.hack" to the command
line, results in the file being downloaded from the
clusters master server (192.168.2.1) and it is then executed.
If the server is down, the damn thing sits in a loop
retrying forever. can't i set the tftp-retries
option using the first stage bootloader CHRP script,
and catch a throw when it fails to get the file
which then causes the boot script to
execute the "setenv boot-device hd:9,\\:tbxi" command
and then proceeed as normally ?
this would provide us with an IDEAl solution.
After burning my eyeballs and brain out all day
I can't figure out how to set this damn tftp-retreis option
in forth at the OF prompt.
Surely there must be a modular way to bring up the network
interface with DHCP (using OF commands) and then
do a tftp test ?
I became very hopeful when I found that you could
fire up a telnet connection to the open firmware using
" enet:telnet,192.168.2.2" io
and then telnetting to that IP.
If such a simple command can do that, surely
there must be a way of using the obp-tftp package
to do what i outlined above.
I just lack any idea of how to do it.
flames > /dev/null