CDF VxWorks Flash RAM Disaster Recovery

Described below is the procedure that can be followed in case the flash ram in a VME processor becomes corrupted.

Each processor contains two flash rams. The boards are normally configured to boot from the 4MB "soldered" flash ram, which contains a VxWorks boot image. The 1MB "socketed" flash ram contains PPCbug, a basic CPU monitor program from Motorola.

If the soldered flash becomes corrupted, the strategy is to boot the board to PPCbug, and use various monitor commands to install a basic VxWorks boot image into the 4MB flash ram. Then the board is booted to the basic VxWorks kernel, and the full CDF flash ram image installed.

To do this, perform the following steps:


Flashing MVME5500s from MOTload

The MVME5500 comes with the MOTload package installed at the factory, rather than PPCbug. Lots of informative messages can be accessed from the MOTload prompt by typing help. Here are some useful MOTload commands:

# setting time in format mmddyyhhmmss
set -t030304134500

# copy MOTLoad from /dev/flash1 (8MB) to /dev/flash0 (32MB) (not normally necessary)
dla = malloc -x100000
bmb -a0xfff00000 -bffffffff -cdla
flashProgram -o0x1f00000 -sdla -v

# copy MOTLoad from /dev/flash0 (32MB) to /dev/flash1 (8MB) (not normally necessary)

dla = malloc -x100000
bmb -a0xf3f00000 -bf3ffffff -cdla
flashProgram -d/dev/flash1 -o0x700000 -sdla -v


# general commands

MVME5500> time
MON MAR 22 16:52:42.00 2004

MVME5500> netShow
Interface                  EAddress      Status   Speed    Duplex
/dev/enet0                 0001AF0BD569  Up       100MBS   Full
/dev/enet1                 0001AF0BD56A  Down     Unknown  Unknown

Initially (from the factory) both /dev/flash0 and /dev/flash1 are installed with MOTload. The VxWorks kernel should be written to /dev/flash0 via tftp (trivial file transfer protocol). You need to use /dev/flash0 since the kernel expects to reside there. At CDF, b0server00, b0server01 and b0server02 have tftp enabled, with the /cdf/onln/data/vxworks/tftpboot directory accessible to remote tftp clients. To load the minimal boot image:
tftpGet -c131.225.237.5 -g131.225.237.200 -s131.225.237.20 -d/dev/enet0 -fboot-5500.bin
flashProgram -o0x1f00100 -n0xfff00 -v
To load the full kernel into Flash RAM: (recommended)
tftpGet -c131.225.237.5 -g131.225.237.200 -s131.225.237.20 -d/dev/enet0 -fvxWorks_romCompress-5500.bin
flashProgram -o0x1f00100 -n0xfff00 -v
In this example, 131.225.237.5 (b0diag01) is the target client running MOTload, 131.225.237.200 is the subnet gateway, and 131.225.237.20 is one of the tftp servers (b0vxboot02, also known as b0server02 on the 236 subnet). The device /dev/enet0 is the 10/100T ethernet interface. The file boot-5500.bin is specific to the MVME5500. After this binary file is loaded, unplug the MVME5500 and make sure the jumper J8 is installed between pins 1 and 2 (for flashRam0). If the jumper was already on flashRam0, then press and hold the front panel reset button for three seconds, until the BFL front panel LED lights up. To install the full CDF VxWorks kernal in flashRam0, replace boot-5500.bin file name with vxWorks_romCompress.bin.5500, as noted above.* Unlike the 2000 series MVME processors, you do not have to go through the intermediary step of loading boot-5500.bin first.

If you loaded the minimal boot image boot-5500.bin , then at the [VxWorks Boot]: prompt, you can type c to change the boot parameters according the the CDF Boot Parameters web page. If you loaded the full kernel, type bootChange to alter the boot parameters.

* NB 1: The Trigger Supervisor crate b0tsi00 uses both the 100BaseT and the Gigabit Ethernet spigots, and requires a kernel with gigabit ethernet enabled: vxWorks_romCompress.bin.gigE.5500

v* NB 2: When loading a kernel from VxWorks, you must choose the vxWorks.romCompress file without the .bin suffix. The VxWorks based flash loader cannot handle the binary file.


Last modified by W.Badgett 2006.04.24