1

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)

2

Re: Manual correction of Nion boot environment variables

The MediaMatrix configuration area goes through this process when setting a unit a up for a customer's order.  Because it is a manual process and subject to human errors, we have recently received an automated script for this purpose.  We have tried it here in the shop, and it works well, however there was an error in the reporting side, which is being corrected now.  When the script is approved, it will be supplied to the contract manufacturer, where it will be used for each NION before being shipped to us, taking this resposibility from the configuration area.