> > echo add nvram 0x100000 0x120000 >'#'F/flashctl
> 
> That's too late for wrkey.

If you look at /sys/src/libauthsrv/readnvram.c, you will
notice that on arm platforms, readnvram will try
to read the nvram from #F/flash/flash at address 0x100000.

The nvram flash partition is only useful as a convenience
if you want to read or write the nvram from Plan 9.

> There's a lot about the Sheeva that doesn't make any sense to me:
> /cfg/pxe/example-kw does not set the bootfile, nor does the
> documentation state what loader should be specified as bootf in
> /lib/ndb.

There is no need for a bootfile, since u-boot is able to
boot directly from the kernel.

> So I put the actual kernel name in /lib/ndb (/arm/9plug), which gets
> loaded four times before actually activating.

Yes, you have to use bootf=/arm/9plug in /lib/ndb/local.

The kernel is loaded four times, because the booting(8)
manual suggests the following bootcmd, with tree BOOTP
requests, probably to make sure you get the IP address
before trying to load the files:

bootp; bootp; tftp 0x1000 %C; bootp; tftp 0x800000; go 0x800000

Alternatively, you may want to set a static IP address
with the serverip and ipaddr environment variables and
use the following bootcmd:

tftp 0x1000 %C; tftp 0x800000 /arm/9plug; go 0x800000

> But by then there is no suggestion of an nvram, no
> such entry exists in /env.

There is no need for an nvram environment variable
in this case, readnvram already knows where to look
for the nvram.

-- 
David du Colombier

Reply via email to