[rescue] Loading FCode via RARPD/TFTP

Malte Dehling mdehling at gmail.com
Tue Jun 22 09:15:00 CDT 2021


On Tue, Jun 22, 2021 at 03:23:12PM +0200, Romain Dolbeau wrote:
> Le mar. 22 juin 2021 C  14:19, Malte Dehling <mdehling at gmail.com> a C)crit :
> > probe-all
> > 4000 dload tgx+.fcode
> > 0 0 " 0,0" " /iommu/sbus" begin-package
> > 4000 1 byte-load
> > end-package
> (...)
> > Any ideas on how to get this to work or what could be the problem?
> 
> Didn't realize at first you were replacing the whole FCode; I was just
> adding words to configure the timings as I wanted them - so that was
> fitting completely in nvramrc as source.

I found a solution for my issue: it seems that using boot net you can
load not just binaries but also forth code.  So I just had to set
boot-device to net:,tgx+-loader.fth and place these lines in
tgx+-loader.fth on the tftpd server:

\ A first line comment is required!
8000 dload tgx+.fcode
0 0 " 0,0" /iommu/sbus" begin-package
8000 1 byte-load
end-package

and now the device is ready and loaded with custom FCode :-)

Of course, it doesn't work if you load at 4000 again...

> What do you use for a tokenizer to prepare the 'tgx+.fcode' ? I'm
> using 'toke' from fcode-utils (i.e. OpenBIOS), but the behavior is not
> fully identical (i.e. creating OPB2 siblings to have multiple devices
> per SBus card is a bit hackish.. but then so is the HW in my case).

I use SUNs tokenizer from the SUNWfcode package.  The version I have
works well enough, unlike the detokenizer.

> For your issue: does probe-all works from the command-line? Maybe you
> can take out the Ethernet from the probe-list and explicitly probe it
> with probe-slot?

It does.  I haven't tested your suggestion since now I have a different
solution that works well enough for me.  Thanks anyway!

Cheers,
Malte

-- 
Malte Dehling
<mdehling at gmail.com>


More information about the rescue mailing list