Topic: Manual correction of Nion boot environment variables
If you have a Nion that failed to go through the firmware loader server script, you may have to manually edit the boot environment variables. It's not difficult.
First, obtain a valid MAC address for the machine, if it doesn't already have one. de-ad-be-ef-00-00 is not valid!
Hook up the diagnostic serial port (57600, 8, N, 1), boot the machine, and hit M (or any key when prompted) to get the boot environment command line. Using the printenv command at the boot environment command line, Iâ€™ve determined that the correct boot environment variables are:
cm1_ip=10.18.53.202 (or as appropriate)
cm1_netmask=255.255.0.0 (or as appropriate)
dhcp=no (or as appropriate)
ethaddr=00:0c:3e:80:07:2d (or as appropriate)
ide_bootcmd=ide reset; diskboot 100000 0:1 0:3; bootm
ipaddr=10.18.11.202 (or as appropriate)
n_dsps=3 (or as appropriate)
name=n3_right_2 (or as appropriate)
netmask=255.255.0.0 (or as appropriate)
serverip=22.214.171.124 (or as appropriate)
xdab=yes (or as appropriate)
These environment variables can be modified individually using the syntax setenv <variable> <value> (note lack of "=" in between arguments). These particular values were obtained from a known-good N3: obviously, ethaddr should have the unique MAC address for that machine, n_dsps should be 6 for an N6 or 3 for N3/NX, and xdab should be â€œno" for an NX. On a production machine, I believe also that bootdelay should be 0, and silent_serial should be â€œyes" .
(To access the boot menu on a production machine with those environment variable values, hold the Attn key when applying power (overrides silent_serial=no, to force serial output), and hit M on the terminal as soon as the first output appears to enter the boot environment command line (instead of â€œany key" when there is a boot delay set).)
To save the modified environment variables to Flash, use command saveenv. Command boot proceeds with boot, and command reset resets the CPU.
Iâ€™ve managed to recover a misconfigured Nion using this, and it all works. Note that when you add a new environment variable using setenv, it appears at the bottom of subsequent printenv lists. Apart from that, itâ€™s all straightforward, and I subsequently could update the firmware via NWare.
[edited to correct the serial port settings!]
Last edited by Michael Page (PDR) (2007-08-22 14:30:07)