Friday, February 12, 2016

Firmware Upgrade Procedure for M-Series - M3000/M4000/M5000/M8000/M9000 servers

Firmware update using the XSCF Shell
Commands used  to update the firmware:
  • getflashimage command: Imports firmware to this system.
  • flashupdate command: Downloads the firmware to flash memory and applies the XSCF firmware.
  • poweron command and reset command: Applies the OpenBoot PROM firmware.
  • version command: Displays the firmware version.
When upgrading an M9000, the controllers switch roles: active becomes standby, and vice-versa. At the end you will be connected to the standby controller.
M3000/M4000/M5000 servers --1 XSCF Unit
M8000/M9000 servers  -------2 XSCF Unit

Firmware Update for Redundant XSCF Units
In a system with redundant XSCF Units, you have only to connect to the XSCF Unit on the active side and update the firmware. The firmware upgrade is performed first on the XSCF Unit on the standby side and then on the active side automatically. Due to resetting the XSCF and switching the networks of the XSCF Units on the active and standby sides, the network is disconnected at this time. Therefore, the user must log in again.
In a system with redundant XSCF Units, if the system is operating with only the active XSCF Unit, such as because of a failure, the update of all firmware is suppressed.

Check current firmware level: version -c xcp
XSCF> version -c xcp
XSCF#0 (Active )
XCP0 (Reserve): 1116
XCP1 (Current): 1116

The XCP version number appears as xyyz by four digits, where:
  • x = Major firmware release number
  • yy = Minor release number
  • z = Micro release number

Check version of staged firmware: getflashimage -l
XSCF> getflashimage -l
Existing versions:
        Version                Size  Date
        FFXCP1116.tar.gz   45794557  Tue Jan 21 22:12:51 PST 2014

Download new firmware:
 M-8000/9000 firmware file starts with DCXCP#### and M-4000/5000 firmware starts with FFXCP####.
for M4000/5000:
for M8000/9000:
Note: In case of web server, we can also use FTP server.
getflashimage -y -v -u <user>  ftp://IP/firmware/FFXCP1120.tar.gz
XSCF> getflashimage -y -v http://IP:PORT/firmware/FFXCP1120.tar.gz

Existing versions:
        Version                Size  Date
        FFXCP1116.tar.gz   45794557  Tue Jan 21 22:12:51 PST 2014
        MD5: 405429fbd0d47d6fa411ddfd28167179
Warning: About to delete existing versions.
Continue? [y|n]: y
Removing FFXCP1116.tar.gz.
Free space: 93MB
transfer from 'http://IP:PORT/firmware/m-series/FFXCP1120.tar.gz' to '/scf/firmtmp/hcp/archive//FFXCP1120.tar.gz'
* About to connect() to xyz.com port 8180
*   Trying xy.xy.xy.xy... * connected
* Connected to  xy.xx.xx.xx) port 8180
< HTTP/1.1 200 OK
< Date: Wed, 16 Dec 2015 18:57:20 GMT
< Server: Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1p DAV/2
< Last-Modified: Thu, 02 Jul 2015 07:56:12 GMT
< ETag: "3f6dfa-2ba84ed-519dfc5e3df00"
< Accept-Ranges: bytes
< Content-Length: 45778157
< Content-Type: application/x-gzip
  0MB received
  1MB received
  2MB received
  3MB received
  4MB received
  5MB received
  6MB received
  7MB received
  8MB received
  9MB received
 10MB received
 11MB received
 12MB received
 13MB received
 14MB received
 15MB received
 16MB received
 17MB received
 18MB received
 19MB received
 20MB received
 21MB received
 22MB received
 23MB received
 24MB received
 25MB received
 26MB received
 27MB received
 28MB received
 29MB received
 30MB received
 31MB received
 32MB received
 33MB received
 34MB received
 35MB received
 36MB received
 37MB received
 38MB received
 39MB received
 40MB received
 41MB received
 42MB received
 43MB received
* Connection #0 to host xyz.com left intact
* Closing connection #0
Download successful: 44705 Kbytes in 50 secs (886.470 Kbytes/sec)
Checking file...
MD5: 81199520e712108726ff68bbb7af214e
XSCF> getflashimage -l
Existing versions:
        Version                Size  Date
        FFXCP1120.tar.gz   45778157  Wed Dec 16 10:58:10 PST 2015

Use the flashupdate command with the "check" argument to determine ability to update to the new firmware version. If the "XCP update is possible with domains up" message is displayed, proceed with the update:  flashupdate -c check -m xcp -s 1120
XSCF> flashupdate -c check -m xcp -s 1120
XCP update is possible with domains up

Update the firmware:     flashupdate -y -c update -m xcp -s 1120
XSCF> flashupdate -y -c update -m xcp -s 1120
The XSCF will be reset. Continue? [y|n] :y
Checking the XCP image file, please wait a minute
XCP update is started (XCP version=1120:last version=1116)
OpenBoot PROM update is started (OpenBoot PROM version=02320000)
OpenBoot PROM update has been completed (OpenBoot PROM version=02320000)
XSCF update is started (XSCFU=0,bank=0,XCP version=1120:last version=1116)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=00:version=01120000:last version=01110006)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=00:version=01120000:last version=01110006)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=01:version=01120000:last version=01110006)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=01:version=01120000:last version=01110006)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=02:version=01100001:last version=01100001)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=02:version=01100001:last version=01100001)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=03:version=01120000:last version=01110005)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=03:version=01120000:last version=01110005)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=04:version=01120000:last version=01110006)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=04:version=01120000:last version=01110006)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=05:version=01110004:last version=01110004)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=05:version=01110004:last version=01110004)
XSCF download is started (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=07:version=01120000:last version=01090001)
XSCF download has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116, Firmware Element ID=07:version=01120000:last version=01090001)
XSCF update has been completed (XSCFU=0,bank=0,XCP version=1120:last version=1116)
XSCF is rebooting to update the reserve bank
XSCF> execute J00shutdown_start  --  complete
execute K000end  --  complete
Dec 16 11:10:57 hstst733 XSCF[106]: XSCF shutdown sequence start
execute K000end  --  complete
execute K100end  --  complete
execute K101end  --  complete
unmount /hcp0/linux  --  complete
unmount /hcp0/scfprog  --  complete
unmount /hcp0/gendata  --  complete
unmount /hcp0/remcscm  --  complete
unmount /hcp1/linux
unmount /hcp1/scfprog
unmount /hcp1/gendata  --  complete
unmount /hcp1/remcscm  --  complete
unmount /hcpcommon/setup  --  complete
unmount /hcpcommon/obp  --  complete
unmount /hcpcommon/tmp  --  complete
unmount /hcpcommon/var
unmount /hcpcommon/scflog1  --  complete
unmount /hcpcommon/scflog2  --  complete
XSCF reset.
The system is g
Please stand by while rebooting the system.(15)
Restarting system.
XSCF uboot  01100001  (Feb  3 2011 - 14:43:12)
XSCF uboot  01100001  (Feb  3 2011 - 14:43:12)
SCF board boot factor = 4040
    DDR Real size: 256 MB
    DDR: 224 MB
## Booting image at ff800000 ...
   Image Name:   XSCF kernel 01120000 2.6.11.12-s
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1459019 Bytes =  1.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at ff980000 ...
   Image Name:   XSCF rootfs 01120000 ,2015/07/02
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    5658385 Bytes =  5.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Ramdisk to 0ba9a000, end 0bfff711 ... OK
Linux version 2.6.11.12-sec (gcc version 3.4.4) #1 Thu Jul 2 11:27:05 JST 2015
new message buffer at 0f700000 size 1048576
log_buf_len: 1048576
mpc85xx_cds_setup_arch
Built 1 zonelists
Kernel command line: root=/dev/ram rw console=ttyS0,9600 init=/sbin/init_change_root panic=1 mem=224M
OpenPIC Version 1.2 (1 CPUs and 44 IRQ sources) at fbe79000
PID hash table entries: 1024 (order: 10, 16384 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 218496k available (2192k kernel code, 672k data, 320k init, 0k highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Freeing initrd memory: 5525k freed
RAMDISK driver initialized: 16 RAM disks of 32768K size 1024 blocksize
i2c-algo-cpm: CPM2 I2C algorithm module version 0.1 (Mar 22, 2005)
FCC ENET Version 0.3
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
ip_tables: (C) 2000-2002 Netfilter core team
arp_tables: (C) 2002 David S. Miller
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 320k init
switching initrd filesystem, ramdisk to tmpfs
SCF Linux Boot Script 2006/03/04 for ROM boot environment
fsl-sec2 hardware crypt accelerator model3a ver 0.02 enabled
XSCF initial process start (pid=106)

load /scf/modules/lites_ldrv.ko  --  complete
load /scf/modules/drvscftrace.ko  --  complete
load /scf/modules/sec2_rsa.ko  --  complete
load /scf/modules/sec2_md5.ko  --  complete
load /scf/modules/sec2_des.ko  --  complete
load /scf/modules/sec2_arc4.ko  --  complete
load /scf/modules/sec2_aes.ko  --  complete
load /scf/modules/sec2_sha256.ko  --  complete
load /scf/modules/sec2_sha1.ko  --  complete
load /scf/modules/hw_random.ko  --  complete
load /scf/modules/scsi_mod.ko  --  complete
load /scf/modules/sd_mod.ko  --  complete
load /scf/modules/usbcore.ko  --  complete
load /scf/modules/ohci-hcd.ko  --  complete
load /scf/modules/usb-storage.ko  --  complete
load /scf/modules/drvbootfmem.ko  --  complete
load /scf/modules/drvmbc.ko  --  complete
load /scf/modules/drvnand.ko  --  complete
load /scf/modules/drvffc.ko  --  complete
load /scf/modules/drvffcint.ko  --  complete
load /scf/modules/drvrtc.ko  --  complete
load /scf/modules/drvxscfuart.ko  --  complete
load /scf/modules/drvrci.ko  --  complete
load /scf/modules/drvtimer.ko  --  complete
load /scf/modules/drvsdic.ko  --  complete
load /scf/modules/sm2s.ko  --  complete
load /scf/modules/spkmdrv.ko  --  complete
mount /dev/mtdblock0 -> /hcp0/linux  --  complete
mount /dev/mtdblock1 -> /hcp0/scfprog  --  complete
mount /dev/mtdblock2 -> /hcp0/gendata  --  complete
mount /dev/mtdblock3 -> /hcp0/remcscm  --  complete
mount /dev/mtdblock4 -> /hcpcommon/setup  --  complete
mount /dev/mtdblock5 -> /hcpcommon/obp  --  complete
mount /dev/mtdblock6 -> /hcpcommon/tmp  --  complete
mount /dev/mtdblock11 -> /hcpcommon/var  --  complete
mount /dev/mtdblock12 -> /hcpcommon/scflog1  --  complete
mount /dev/mtdblock13 -> /hcpcommon/scflog2  --  complete
execute S00mtab  --  complete
execute S00portmap  --  complete
execute S00tmpmake  --  complete
execute S00varclean  --  complete
execute S10ldconfig  --  complete
execute S15db_move  --  complete
execute S15last_dmesg  --  complete
execute S20cfgcreate  --  complete
execute S50iptables  --  complete
execute S60check  --  complete
execute S61restore  --  complete
execute S99syslogd  --  complete
initialize XSCF common database (STANDALONE)  --  complete
start /scf/sbin/dbs (pid=342)
start /scf/sbin/ksyseventd (pid=343)
start /scf/sbin/syseventd (pid=348)
start /scf/init/scf_cmgrd (pid=356)
start /scf/init/scf_coremgr (pid=357)
start /scf/init/dualprocess (pid=358)
check SCF operation mode (for OPNL access)  --  complete
initialize OPNL  --  complete
check SCF operation mode  --  complete (ACTIVE)
start /scf/sbin/dbs (pid=377)
initialize XSCF common database (OWN)  --  complete
synchronize setup data (XSCF -> OPNL)  --  complete
initialize XSCF common database (ACTIVE)  --  complete
wait for database synchronization  --  complete
execute S00clis_all  --  complete
execute S10restore_ad  --  complete
execute S10restore_um  --  complete
execute S11network.sheth0: PHY is Intel LXT972A (1378e2)
  --  complete
execute S15ntpcheck.sh  --  complete
execute S21daemons  --  complete
execute S51scflog_SCFboot.sh  --  complete
execute S82cod  --  complete
execute S98bui  --  complete
execute S00clis_active  --  complete
execute S00cmem_check  --  complete
execute S00tmp_login  --  complete
execute S18restorefmdlog  --  complete
execute S19setfmurl  --  complete
execute S29setfmconf  --  complete
execute S50setupSCFboot.sh  --  complete
execute S83setservicetagdata  --  complete
start /scf/sbin/scf_panelmgr (pid=787)
start /scf/sbin/fmdsyncd (pid=788)
start /scf/sbin/auditd (pid=789)
start /scf/sbin/cmd (pid=790)
start /scf/sbin/cmd_sub (pid=791)
start /scf/sbin/errhandd (pid=792)
start /scf/sbin/fjdrd (pid=793)
start /scf/sbin/frura (pid=794)
start /scf/sbin/mond (pid=795)
start /scf/sbin/mond (pid=796)
start /scf/sbin/powerd (pid=797)
start /scf/sbin/rci (pid=798)
start /scf/sbin/rci_dual (pid=800)
start /scf/sbin/reset (pid=801)
start /scf/sbin/resetra (pid=802)
start /scf/sbin/rsyncprocess (pid=803)
start /scf/sbin/scf_firmup_exed (pid=804)
start /scf/sbin/scf_hardlog (pid=805)
start /scf/sbin/scf_loganalyze (pid=806)
start /scf/sbin/scf_procmeas (pid=807)
start /scf/sbin/sequence (pid=808)
start /scf/sbin/ttyd (pid=809)
start /scf/sbin/apcsd (pid=810)
start /scf/sbin/codd (pid=811)
start /scf/sbin/scf_firmup_ctld (pid=812)
start /scf/sbin/fmd (pid=813)
Dec 16 11:14:38 hstst733 XSCF flashupdate[812]: XSCF download is started (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=00:version=01120000:last version=01110006)
start /scf/sbin/dscpd (pid=877)
start /scf/sbin/monitor_msg (pid=878)
start /scf/sbin/picld (pid=879)
start /scf/sbin/sunmcrund (pid=880)
start /scf/sbin/stdiscoverer (pid=881)
start /scf/sbin/stlistener (pid=882)
start /scf/sbin/dfrud (pid=883)
start /scf/sbin/iomgrd (pid=884)
start /scf/sbin/archd (pid=944)
wait for SCF_READY  --  complete
execute S20setupSCFready.sh  --  complete
execute S99rcclear  --  complete
execute S10iobox_scan  --  complete
execute S10restore_ad  --  complete
execute S10restore_um  --  complete
execute S84snmpd  --  complete
execute S85sunmc_esd  --  complete
execute S86limits  --  complete
execute S87opnl  --  complete
execute S88patroldiag.sh  --  complete
execute S99dr_recover.sh  --  complete
XSCF Initialize complete.
Dec 16 11:15:14 XSCF[106]: XSCF Initialize complete.
login: Dec 16 11:15:37 hstst733 XSCF flashupdate[812]: XSCF download has been completed (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=00:version=01120000:last version=01110006)
Dec 16 11:15:37  XSCF flashupdate[812]: XSCF download is started (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=01:version=01120000:last version=01110006)
Dec 16 11:17:57  XSCF flashupdate[812]: XSCF download has been completed (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=01:version=01120000:last version=01110006)
Dec 16 11:17:57  XSCF flashupdate[812]: XSCF download is started (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=02:version=01100001:last version=01100001)
Dec 16 11:18:19 hstst733 XSCF flashupdate[812]: XSCF download has been completed (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=02:version=01100001:last version=01100001)
Dec 16 11:18:19  XSCF flashupdate[812]: XSCF download is started (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=03:version=01120000:last version=01110005)

login: root
Password:
flashupdate now in progress.
please wait for flashupdate complete
XSCF>
XSCF>
XSCF> Dec 16 11:19:28 hstst733 XSCF flashupdate[812]: XSCF download has been completed (XSCFU=0,bank=1,XCP version=1120:last version=1116, Firmware Element ID=03:version=01120000:last version=01110005)

After firmware upgrade process completes (after system controller finishes rebooting and completing the upgrade), confirm that the XSCF firmware update has finished, use the showlogs command with the monitor option:

XSCF> showlogs monitor
…………………………………..
…………………………………
Dec 16 11:20:56  monitor_msg: SCF:XSCF download has been completed (XSCFU=0, bank=1, XCP version=1120:last version=1116, Firmware Element ID=04, version=01120000:last version=01110006)

Dec 16 11:20:57  monitor_msg: SCF:XSCF download is started (XSCFU=0, bank=1, XCP version=1120:last version=1116, Firmware Element ID=05, version=01110004:last version=01110004)

Dec 16 11:21:57  XSCF flashupdate[812]: XCP update has been completed (XCP version=1120)
Verify new version of firmware:   version -c xcp
XSCF>
XSCF> showdomainstatus -a
DID         Domain Status
00          Running
01          -
02          -
03          -
  
XSCF>
XSCF> version -c xcp -v
XSCF#0 (Active )
XCP0 (Current): 1120
OpenBoot PROM : 02.32.0000
XSCF          : 01.12.0000
XCP1 (Reserve): 1120
OpenBoot PROM : 02.32.0000
XSCF          : 01.12.0000
OpenBoot PROM BACKUP
#0: 02.32.0000
#1: 02.29.0000
XSCF>
 Reboot the domains: The domains should be rebooted soon after firmware upgrade is performed.

SUMMARY
======================================================================

Check current firmware level
XSCF> version -c xcp -v 
Check version of staged firmware
XSCF> getflashimage -l
Download new firmware
XSCF> getflashimage -y -v http://IP:PORT/firmware/FFXCP1120.tar.gz  or getflashimage -y -v -u <user> ftp://IP:PORT/firmware/FFXCP1120.tar.gz 

XSCF> getflashimage -l   
 Check upgrade is possible or not
XSCF> flashupdate -c check -m xcp -s 1120
 Update the firmware
XSCF> flashupdate -y -c update -m xcp -s 1120 
Login again
confirm that the XSCF firmware update has finished
XSCF> showlogs monitor 
Verify new version of firmware
XSCF> version -c xcp -v
Reboot the domains: The domains should be rebooted soon after firmware upgrade is performed. 
=================================================================================

If an Error Occurs During XSCF Firmware Update
-----------------------------------------------------------------
If the system hangs or any of the messages shown below is output during the firmware update, the XSCF Unit on the faulty side cannot be used and is treated as a faulty component.
Try the firmware update again when an error occurs while updating the XSCF firmware. The second attempt may succeed where the first failed.
Case where the XSCF Unit is redundantly configured (on M8000/M9000 servers)
Error involving a failed write or reset operation on the standby or active side
Case where there is one XSCF Unit (on M3000/M4000/M5000 servers)
Error involved a failed write or reset operation

2 comments: