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:
baudrate=57600
boot=ide
bootdelay=3
check_image_crc=
cm1=yes
cm1_ip=10.18.53.202 (or as appropriate)
cm1_netmask=255.255.0.0 (or as appropriate)
dhcp=no (or as appropriate)
dhcp_attempts=20
dsp_ram=1024
ethaddr=00:0c:3e:80:07:2d (or as appropriate)
ide_bootcmd=ide reset; diskboot 100000 0:1 0:3; bootm
ide_device=/dev/hda2
ipaddr=10.18.11.202 (or as appropriate)
lcd_brightness=15
lcd_viewing_angle=24
n_dsps=3 (or as appropriate)
name=n3_right_2 (or as appropriate)
netmask=255.255.0.0 (or as appropriate)
nfs_root=/mh_nion
serverip=198.90.143.160 (or as appropriate)
silent_serial=no
xdab=yes (or as appropriate)
gateway=0.0.0.0
stdin=serial
stdout=serial
stderr=serial
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)