flashsc man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



flashsc(1M)							   flashsc(1M)

Name
     flashsc - FLASH update utility for SGI Server L1/L2 Controllers

SYNOPSIS
     /usr/sbin/flashsc [-p] [-f] [--sc] [--scdev device_name]
     [--l2 hostname|IP] [--sysname name] [--ssn serial_number]
     [--interface name] [--serial host:port]
     [--dev device_name]  image_name  rack.slot|all|local

     /usr/sbin/flashsc -version|-v|-vv image_name

     /usr/sbin/flashsc -l2recover [--serial host:port]
     [--dev device_name]  image_name

DESCRIPTION
     The flashsc utility updates FLASH memory in the L1 or L2 controllers.
     The FLASH memory in the SN1 L1 controller is divided into three areas:

     - a "bootstrap" image, which always executes at power-up
     - an "a" image, which is a copy of the full L1/L2 controller firmware
     - a "b" image, which is a copy of the full L1/L2 controller firmware

     Due to memory constraints, there is only one full L2 controller image in
     the L2 firmware.  The second image is the image that is currently running
     in the L2's RAM.

     Each full image contains a timestamp, which is the date/time the firmware
     image was built.  At power-up, the bootstrap code looks at the fullimages
     and boots the one which is newer (has a more recent timestamp).

     Each image also has a checksum, enabling to bootstrap code to validate an
     image before attempting to boot it.  On the L1, this two-image system
     system allows a new firmware image to be downloaded into the controller
     without having to overwrite the current "good" image.

     The "a" and "b" images each contain a timestamp, which is the date/time
     the firmware image was built.  At power-up, the bootstrap code simply
     looks at the two full images and boots the one which is newer (has a more
     recent timestamp).	 Each image also has a checksum, enabling the
     bootstrap code to determine which of the images is valid.	This two-image
     system allows a new firmware image to be downloaded into the controller
     without having to overwrite the current "good" image.

									Page 1

flashsc(1M)							   flashsc(1M)

     Because the L2 Controller can store only one full image in firmware, the
     boot image has an emergency flash recovery mechanism.  If the boot image
     discovers that the full image is corrupt, it will display a message to
     the "Console" serial port, and then wait for a flash update over that
     serial port.  The -l2recover option to flashsc is used to update an L2
     controller in this state.	This method requires a direct connection (with
     a "null modem" cable) from serial port on the system where flashsc is
     running to the L2 Controller's "Console" serial port.

     flashsc supports updates via four methods:
     - ethernet connection to an L2 controller
     - direct USB connection to a L1 controller
     - direct serial connection to an L1 controller
     - direct serial connection to an L2 controller with a corrupt flash image
     (for the L2 flash recovery procedure) via a direct serial connection

     When updating the L1, flashsc always updates the image ("a" or "b") that
     is NOT currently running (the running image cannot be updated; if you
     wish to update the running image, boot the other image, see the ADVANCED
     USAGE section below).  When updating the L2, flashsc always updates the
     image in the firmware.

     Valid command line options are:

     -p	  Update all of the specified controllers in parallel (without -p,
	  controllers are updated one at a time).

     -f	  Forces the system controller flash update even if a controller is
	  already running the same firmware version as the image file (default
	  behavior is to skip updates on any controllers running the same
	  version of firmware as the image file).

     --l2 hostname|IP
	  Connect to the L2 controller with the specified hostname or IP
	  address.

     --ssn serial_number
	  Search for an L2 with the System Serial Number serial_number, and
	  connect to the first one found.

     --sysname name
	  Search for an L2 with the System Name name, and connect to the first
	  one found.

									Page 2

flashsc(1M)							   flashsc(1M)

     --interface name
	  When searching for an L2 Controller to connect to, only search on
	  the specified network interface (i.e. eth0, eth1, etc.)  This option
	  is ignored when --l2, --serial, or --dev is specified.

     --serial host:port
	  Valid for L1 Controller updates and L2 emergency flash recovery
	  only; connect to the controller via a serial (SMP) connection to the
	  Annex box host on network port port (port number of the connection
	  to the Annex box plus 7000).

     --dev device_name
	  Valid for L1 Controller updates and L2 emergency flash recovery
	  only; connect to the controller via a direct serial (SMP) connection
	  to a serial port on the system where flashsc is running.

     --sc Connect via the system's own System Controller network. This option
	  allows the L1 and L2 System Controller firmware to be updated from
	  host OS .  This option selects causes flashsc to connect to the L1
	  Controller of the brick with the lowest numbered rack/slot in the
	  system.  The connection is established by opening one of the
	  /hw/module/*c*/L1/controller (IRIX) or /dev/snsc/*c* (Linux)
	  devices.

     --scdev device_name
	  Connect via the system's own System Controller network using
	  device_name.	This option is identical to --sc, except that it uses
	  device_name rather than selecting a default device to use.  Valid
	  devices are any of /hw/module/*c*/L1/controller (IRIX) or
	  /dev/snsc/*c* (Linux).

     -l2recover
	  Update an L2 controller with a corrupt firmware image.

     -version|-v|-vv image_image
	  Return the image type (L1 or L2), version number, and build time of
	  the specified image.

     image_name
	  The image name is the file name of the image.	 For the L1
	  controller, the image name is usually l1.bin.	 For the L2
	  controller, the image name is usually l2.bin.

									Page 3

flashsc(1M)							   flashsc(1M)

     rack.slot|all|local
	  rack is the rack number of the controller(s) that will be updated.
	  slot is the slot number of the controller(s) that will be updated.
	  all may be used instead of rack.slot (the rack.slot form is only
	  available for updating L1 Controllers).  local means update ONLY the
	  controller that the flashsc is connected to (i.e. the L2 that it is
	  connected to via ethernet, or the L1 it is connected to via a serial
	  connection).	NOTE: The all argument is only valid on systems with
	  one or more L2 Controllers  (on systems without an L2 Controller, L1
	  Controllers must be updated individually using the rack.slot or the
	  local argument).

     Without any options, flashsc attempts to connect to an L2 controller (a
     "real" L2, or a software L2 running on the L3).  When communicating with
     the system via the USB connection (in a system where there is no actual
     L2), the application /stand/sysco/bin/l2 must be running.

FILES
     /usr/sbin/flashsc	firmware update utility
     /usr/cpu/firmware/sysco/l1.bin   L1 Controller firmware image
     /usr/cpu/firmware/sysco/l2.bin   L2 Controller firmware image
     /hw/module/*c*/L1/controller     (IRIX only) IRIX System Controller
     devices
     /dev/snsc/*c*		      (Linux only) Linux System Controller
     devices

EXAMPLES
     Updating all L1's in parallel on a single, standalone system with one or
     more hardware L2's:

     1) cd /usr/cpu/firmware/sysco
     2) /usr/sbin/flashsc -p ./l1.bin all
     3) issue the "* reboot_l1" command at the L2> prompt to reboot all L1's

     Updating all L2's in parallel on a single, standalone system with one or
     more hardware L2's:

     1) cd /usr/cpu/firmware/sysco
     2) /usr/sbin/flashsc -p ./l2.bin all
     3) issue the "* reboot_l2" command at the L2> prompt to reboot all L2's

     Updating all L1's in parallel on one system (serial number L0000010) from
     an L3 Controller with multiple SN1 systems connected.

     1) cd /usr/cpu/firmware/sysco
     2) /usr/sbin/flashsc --ssn L0000010 -p ./l1.bin all
     3) issue the "* reboot_l1" command at the L2> prompt to reboot all L1's

									Page 4

flashsc(1M)							   flashsc(1M)

     Updating all L1's in parallel from the host OS, using the default system
     controller path.  (Note that this command format is valid only on a
     system with one or more L2 Controllers; see the following example for
     updating systems without an L2 controller).

     1) cd /usr/cpu/firmware/sysco
     2) /usr/sbin/flashsc --sc -p ./l1.bin all
     3) reboot all of the L1 Controllers by issuing the "* reboot_l1" command
     at the L2> prompt (or by using the l2cmd(1) command).

     Updating all L1's from the host OS, on a system without an L2 Controller,
     using the default system controller path.	To update systems without an
     L2 Controller, each L1 Controller must be updated individually.  In this
     example system there are 3 bricks:	 001c10, 001c13, and 001i16.

     1) cd /usr/cpu/firmware/sysco
     2) /usr/sbin/flashsc --sc ./l1.bin 1.10
     3) /usr/sbin/flashsc --sc ./l1.bin 1.13
     4) /usr/sbin/flashsc --sc ./l1.bin 1.16
     5) reboot the L1 Controllers by issuing the "* reboot_l1" command at the
     L1> prompt of one of the L1 Controllers (or by using the l1cmd(1)
     command).

     Updating the L1 at rack 2, slot 18 via the USB connection using the L2
     emulator running on the L3 (system w/o a hardware L2):

     1) make sure the software L2 is running (/stand/sysco/bin/l2)
     2) cd /usr/cpu/firmware/sysco
     3) update the flash with the command:
	/usr/sbin/flashsc ./l1.bin 2.18
     4) issue the "r 2 s 18 reboot_l1" command at the L2> prompt to reboot the
     L1

     Updating the L1 at rack 3, slot 12 via the (serial) SMP port connection
     on the Annex serial port server 'myannex', port 17:

     1) cd /usr/cpu/firmware/sysco
     2) update the flash with the command:
	  /usr/sbin/flashsc --serial myannex:7017 ./l1.bin 3.12

     Performing an L2 flash recovery on an L2 controller with a corrupted
     firmware image:

     1) connect a serial (null modem) cable from the serial port (COM1) on the
     L3 Controller to the "Console" serial port on the L2 Controller
     2) power cycle the L2 controller, and verify that a message is displayed
     stating that the firmware image is corrupt
     3) cd /usr/cpu/firmware/sysco
     4) update the flash with the command:
	/usr/sbin/flashsc -l2recover --dev /dev/ttyS0 l2.bin

									Page 5

flashsc(1M)							   flashsc(1M)

ADVANCED USAGE
     This section details commands and procedures for "advanced" flash
     manipulation.  The procedures in this section apply only to the L1.

     Updating the currently executing image

     In order to update the image that is currently executing, you must first
     reboot the L1/L2 into the other flash image.  The "reboot_l1" (reboot_l2)
     command will allow the controller to boot into a specific image.

     1) run the "ver" command on the L1 to determine which image (A or B) is
     currently running

     2) issue the reboot_l1(l2) command to boot the controller into the other
     image (i.e. if image A is currently running, type "reboot_l1 b").

     3) now follow the normal flash update procedure outlined above

     Updating to a "test" image

     Use the "flash default a|b" command to set the "default" boot image to
     the current image. Then, update the other image, and use "reboot_l1 a|b"
     to boot it.  If this new image works as desired, use the "flash default
     reset" command to let the boot code pick the most up-to-date image.

									Page 6

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net