C H A P T E R  11

Firmware Update Procedures

This chapter explains how to update the system firmware.

The firmware on the Sun Fire entry-level midrange systems system can be updated by two mechanisms:

The first method requires that the SC 10/100 Ethernet port is connected to a suitable network and is configured so that it can see an external FTP or HTTP server that contains the new firmware images to be downloaded.

This chapter includes the following topics:


Using the flashupdate Command

The flashupdate command requires that the 10/100 Ethernet port can access an external FTP or HTTP server.

The flashupdate command updates the flash PROMs in the SC and the system boards (CPU/Memory boards and I/O Assembly). The source flash image is normally held on an NFS server. In the case of CPU/Memory boards you can update one board with the flash image from another.

The syntax for the flashupdate command is:

flashupdate [-y|-n] -f url all|systemboards|scapp|rtos|board . . .

flashupdate [-y|-n] -c source_board destination_board . . .

flashupdate [-y|-n] -u

where:

-y does not prompt for confirmation.

-n does not execute this command if confirmation is required.

-f specifies a URL as the source of the flash images. This option requires a network connection with the flash image held on an NFS server. Use this option to install new firmware.

url is the URL of the directory containing the flash images and must be of the form:

ftp://[userid:password@]hostname/path

or

http://hostname/path

all causes all boards (CPU/Memory, I/O Assembly and System Controller) to be updated. This action reboots the SC.

systemboards causes all CPU/Memory boards and the I/O Assembly to be updated.

scapp causes the SC application to be updated. This action reboots the SC.

rtos causes the SC RTOS to be updated. This action reboots the SC.

board names a specific board to be updated (sb0, sb2, sb4 or ib6).

-c specifies a board as the source of flash images. Use this option to update replacement CPU/Memory boards.

source_board is a pre-existing CPU/Memory board to be used as the source of the flash image (sb0, sb2 or sb4).

destination_board is the CPU/Memory board to be updated (sb0, sb2 or sb4).

-u automatically updates all CPU/Memory boards with the image from the board that currently has the highest firmware revision. Use this option to update replacement CPU/Memory boards.

-h displays help for this command.

A power cycle is required in order to activate the updated OpenBoot PROM.



Note - flashupdate cannot retrieve flash images from a secure (userid/password) protected HTTP URL. A message of the form flashupdate: failed, URL does not contain required file: file will be returned, although the file may exist.





caution icon

Caution - Do not interrupt the flashupdateoperation. If the flashupdatecommand is terminated abnormally, the SC will go into single use mode and will only be accessible from the serial port.





caution icon

Caution - Before performing a flashupdate, check the firmware revisions of all boards using the showboards -p versioncommand.





caution icon

Caution - If the SC application (scapp) or RTOS are to be updated, run the flashupdatecommand from a LOM shell running on the serial connection, so that the results can be fully monitored.





caution icon

Caution - Before updating CPU/Memory boards or the I/O Assembly, ensure that all boards to be updated are powered on by using the poweroncommand.




procedure icon  To Upgrade a Sun Fire V1280 or Netra 1280 System Running Firmware Version 5.13.x to 5.17.0 Using the flashupdate Command

1. Upgrade the firmware on the SC:


lom>flashupdate -f url scapp rtos

2. Power on all boards:


lom>poweron all

3. Upgrade the firmware on the system boards:


lom>flashupdate -f url sb0 sb2 sb4 ib6

This step has brought sb0, sb2,sb4, and IB6 up to the same firmware level as the system controller.

4. Shutdown the Solaris OS.

5. Power off the system.

6. Power on the system.


procedure icon  To Upgrade a Sun Fire E2900, Sun Fire V1280 or Netra 1280 System Running Firmware Version 5.17.x to 5.18.0 Using the flashupdate Command

1. Power on all boards:


lom>poweron all

2. Upgrade the firmware on the SC:


lom>flashupdate -f url all

This step has brought the CPU/Memory boards, IB6, and the system controller up to the same firmware level.

3. Shutdown the Solaris OS.

4. Power off the system.

5. Power on the system.


procedure icon  To Downgrade a Sun Fire V1280 or Netra 1280 System Running Firmware Version 5.17.x to 5.13.x Using the flashupdate Command

1. Downgrade the firmware on the SC:


lom>flashupdate -f url scapp rtos

2. Power on all boards:


lom>poweron all

3. Downgrade the firmware on the system boards:


lom>flashupdate -f url sb0 sb2 sb4 ib6

4. Shutdown the Solaris OS.

5. Power off the system.

6. Power on the system.



Note - 5.13.x firmware does not support UltraSPARC IV CPU/Memory boards or any features introduced in 5.17.x or 5.18.0 firmware.




procedure icon  To Downgrade a Sun Fire E2900, Sun Fire V1280 or Netra 1280 System Running Firmware Version 5.18.0 to 5.17.x Using the flashupdate Command

1. Power on all boards:


lom>poweron all

2. Downgrade the firmware on the SC:


lom>flashupdate -f url all

This step has brought the CPU/Memory boards, IB6, and the system controller down to the same firmware level.

3. Shutdown the Solaris OS.

4. Power off the system.

5. Power on the system.


Using the lom -G Command

There are four image types which may need to be transferred using this method with names of the following form:

You must place these in a suitable directory, for instance /var/tmp, and issue the lom -G command with the filename of the file to be downloaded. The firmware knows from header information contained in the file which image type is being upgraded.

These images will be provided in a patch downloadable from www.sunsolve.sun.com or from your Sun Service representative.

The patch README file should contain full instructions for installing these new firmware images. It is very important that the instructions are followed exactly otherwise you may render your system unbootable.



caution icon

Caution - Do not interrupt the lom -Goperation. If the lom -Gcommand is terminated abnormally, the SC goes into single use mode and is accessible only from the serial port.





caution icon

Caution - Before performing a lom -G, check the firmware revisions of all boards using the showboards -p versioncommand.





caution icon

Caution - Run the lom -Gcommand from a Solaris console running on the serial connection so that the results can be fully monitored.





caution icon

Caution - Before updating CPU/Memory boards or the I/O Assembly, ensure that all boards to be updated are powered on by using the poweroncommand.



Examples

Downloading the lw8pci.flash image:


CODE EXAMPLE 11-1 Downloading the lw8pci.flash Image
# lom -G lw8pci.flash
This program will replace LOM firmware with version 5.17.0
Are you sure you want to continue?
Enter 'C' and return to Continue or anything else to Terminate
C
Transferring 346 kB image to the system controller.
This may take several minutes.
...................................................
 
Validating image...
346 kB IO image transferred.
Programming /N0/IB6/FP0
Comparing image and flash
# Image and flash are different, proceeding with update.
Erasing     ...... Done
Programming ...... Done
Verifying   ...... Done
Fri Dec 12 08:20:42 commando lom: /N0/IB6/FP0 updated with version 5.17.0 12/12/2003.
Dec 12 11:20:41 commando-a lw8: /N0/IB6/FP0 updated with version 5.17.0 12/12/2003.
 
Firmware update complete.
 
You must reboot Solaris to load the new firmware.

Downloading the lw8cpu.flash image:


CODE EXAMPLE 11-2 Downloading the lw8cpu.flash Image
# lom -G lw8cpu.flash
This program will replace LOM firmware with version 5.17.0
Are you sure you want to continue?
Enter 'C' and return to Continue or anything else to Terminate
C
Transferring 906 kB image to the system controller.
This may take several minutes.
...................................................
 
Validating image...
# 906 kB CPU image transferred.
Programming /N0/SB0/FP0
Comparing image and flash
Image and flash are different, proceeding with update.
Erasing     ............... Done
Programming ............... Done
Verifying   ............... Done
Fri Dec 12 08:23:43 commando lom: /N0/SB0/FP0 updated with version 5.17.0 12/12/2003.
Dec 12 11:23:42 commando-a lw8: /N0/SB0/FP0 updated with version 5.17.0 12/12/2003.
Programming /N0/SB0/FP1
Comparing image and flash
Image and flash are different, proceeding with update.
Erasing     ............... Done
Programming ............... Done
Verifying   ............... Done
Fri Dec 12 08:24:24 commando lom: /N0/SB0/FP1 updated with version 5.17.0 12/12/2003.
Dec 12 11:24:23 commando-a lw8: /N0/SB0/FP1 updated with version 5.17.0 12/12/2003.
Programming /N0/SB2/FP0
Comparing image and flash
Image and flash are different, proceeding with update.
Erasing     ............... Done
Programming ............... Done
Verifying   ............... Done
Fri Dec 12 08:25:06 commando lom: /N0/SB2/FP0 updated with version 5.17.0 12/12/2003.
Dec 12 11:25:06 commando-a lw8: /N0/SB2/FP0 updated with version 5.17.0 12/12/2003.
Programming /N0/SB2/FP1
Comparing image and flash
Image and flash are different, proceeding with update.
Erasing     ............... Done
Programming ............... Done
Verifying   ............... Done
Fri Dec 12 08:25:48 commando lom: /N0/SB2/FP1 updated with version 5.17.0 12/12/2003.
Dec 12 11:25:48 commando-a lw8: /N0/SB2/FP1 updated with version 5.17.0 12/12/2003.
Programming /N0/SB4/FP0
Comparing image and flash
Image and flash are different, proceeding with update.
Erasing     ............... Done
Programming ............... Done
Verifying   ............... Done
Fri Dec 12 08:26:31 commando lom: /N0/SB4/FP0 updated with version 5.17.0 12/12/2003.
Dec 12 11:26:30 commando-a lw8: /N0/SB4/FP0 updated with version 5.17.0 12/12/2003.
Programming /N0/SB4/FP1
Comparing image and flash
Image and flash are different, proceeding with update.
Erasing     ............... Done
Programming ............... Done
Verifying   ............... Done
Fri Dec 12 08:27:11 commando lom: /N0/SB4/FP1 updated with version 5.17.0 12/12/2003.
Dec 12 11:27:10 commando-a lw8: /N0/SB4/FP1 updated with version 5.17.0 12/12/2003.
 
Firmware update complete.
 
You must reboot Solaris to load the new firmware.


procedure icon  To Upgrade the Firmware on a Sun Fire E2900, Sun Fire V1280 or Netra 1280 System Using the lom -G Command

The same upgrade procedure applies when updating firmware from 5.13.xx to 5.17.x or to 5.18.0.

1. Upgrade the firmware on the SC:


# lom -G sgsc.flash
# lom -G sgrtos.flash

2. Escape to lom> and reset the SC:


lom>resetsc -y

3. Upgrade the firmware on the system boards:


# lom -G lw8cpu.flash
# lom -G lw8pci.flash

4. Shutdown the Solaris OS.

5. Power off the system.

6. Power on the system.


procedure icon  To Downgrade the Firmware on a Sun Fire E2900, Sun Fire V1280 or Netra 1280 System Using the lom -G Command

The same downgrade procedure applies when updating firmware from 5.18.0 to 5.17.x or to 5.13.x.



Note - 5.13.x firmware does not support UltraSPARC IV CPU/Memory boards or any features introduced in 5.17.x or 5.18.0 firmware.



1. Downgrade the firmware on the SC:


# lom -G sgsc.flash
# lom -G sgrtos.flash

2. Escape to lom> and reset the SC:


lom>resetsc -y

3. Downgrade the firmware on the other boards:


# lom -G lw8cpu.flash
# lom -G lw8pci.flash

4. Shutdown the Solaris OS.

5. Power off the system.

6. Power on the system.