Difference between revisions of "MFU: Mass Firmware Update"
| (7 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
== Download == | == Download == | ||
We've only had access to the software via supermicro FTP. For the latest versions, please contact: James Chiang: JamesChiang@supermicro.com.tw | We've only had access to the software via supermicro FTP. For the latest versions, please contact: James Chiang: JamesChiang@supermicro.com.tw | ||
| + | |||
| + | == OS Prereq == | ||
| + | Ensure 'Development tools' is installed | ||
| + | <syntaxhighlight> | ||
| + | yum groupinstall 'Development tools' | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Turn off firewall or open up port 4422 | ||
== Installation == | == Installation == | ||
| Line 11: | Line 19: | ||
Example installation of scmnode: | Example installation of scmnode: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
| − | + | [root@head ~]$ unzip SCMSH\ V1.05_build.154_20121019.zip | |
| + | Archive: SCMSH V1.05_build.154_20121019.zip | ||
| + | replace SCMSH V1.05_build.154_20121019/install_scmnode_v1.05_build.154_20121019-180231.tar.gz? [y]es, [n]o, [A]ll, [N]one, [r]ename: A | ||
| + | inflating: SCMSH V1.05_build.154_20121019/install_scmnode_v1.05_build.154_20121019-180231.tar.gz | ||
| + | inflating: SCMSH V1.05_build.154_20121019/install_scmsh_v1.05_build.154_20121019-180231.tar.gz | ||
| + | inflating: SCMSH V1.05_build.154_20121019/quickstart.txt | ||
| + | inflating: SCMSH V1.05_build.154_20121019/ReleaseNote.txt | ||
| + | inflating: SCMSH V1.05_build.154_20121019/SCMSH v1.04 User Guide_20120608.pdf | ||
| + | [root@head ~]$ cd SCMSH\ V1.05_build.154_20121019 | ||
| + | [root@head SCMSH V1.05_build.154_20121019]$ tar zxvf install_scmsh_v1.05_build.154_20121019-180231.tar.gz | ||
| + | install_scmsh/ | ||
| + | install_scmsh/uninstall.sh | ||
| + | install_scmsh/scmsh.desktop | ||
| + | install_scmsh/install.sh | ||
| + | install_scmsh/scmsh.tar.gz | ||
| + | install_scmsh/README | ||
| + | [root@head SCMSH V1.05_build.154_20121019]$ cd install_scmsh | ||
| + | [root@head install_scmsh]$ ./install.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Adding nodes to the scmsh == | == Adding nodes to the scmsh == | ||
| − | For each node to be monitored by scmsh a line must be added to the | + | For each node to be monitored by scmsh a line must be added to the <tt>/opt/scmsh/node.cfg</tt> file on the master node. |
The line must contain four bits on information: | The line must contain four bits on information: | ||
| Line 28: | Line 53: | ||
compute020=00:25:90:6C:DC:DE,compute020:4422 | compute020=00:25:90:6C:DC:DE,compute020:4422 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | |||
== Running in Interactive Mode == | == Running in Interactive Mode == | ||
| Line 108: | Line 132: | ||
===Flash BIOS FW=== | ===Flash BIOS FW=== | ||
| + | The file <tt>b9dr72.c31</tt> was obtained via the supermicro site. Download the latest BIOS revision and unpack: | ||
| + | <syntaxhighlight> | ||
| + | [root@head scmsh]# unzip b9dr72_c31.zip | ||
| + | Archive: b9dr72_c31.zip | ||
| + | inflating: AFUDOSU.SMC | ||
| + | inflating: Readme for AMI BIOS.txt | ||
| + | inflating: b9dr72.c31 # <-- This is the file we will use with scmsh | ||
| + | inflating: ami.bat | ||
| + | </syntaxhighlight> | ||
| − | ./scmsh x9biosfw/save bios fw -n <node_name> -f <file_name> | + | Then to update, use the following command: |
| + | <syntaxhighlight> | ||
| + | # ./scmsh x9biosfw/save bios fw -n <node_name> -f <file_name> | ||
./scmsh x9biosfw/flash bios fw -n blade1 -f b9dr72.c31 | ./scmsh x9biosfw/flash bios fw -n blade1 -f b9dr72.c31 | ||
| + | </syntaxhighlight> | ||
| − | < | + | Here is the log file from <tt>/var/tmp/</tt> |
| + | <syntaxhighlight> | ||
[root@localhost tmp]# cat x9_flash_bios_log.log | [root@localhost tmp]# cat x9_flash_bios_log.log | ||
Linux BIOS Flash Utility (for UEFI BIOS) V1.07 | Linux BIOS Flash Utility (for UEFI BIOS) V1.07 | ||
| Line 131: | Line 168: | ||
Writing finished | Writing finished | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Verify the BIOS version before and after the update: | ||
| + | <syntaxhighlight> | ||
| + | # Before | ||
| + | [root@localhost ~]$ dmidecode | grep Version | head -n 1 | ||
| + | Version: 1.0a | ||
| + | |||
| + | # After | ||
| + | [root@localhost ~]$ dmidecode | grep Version | head -n 1 | ||
| + | Version: 1.0b | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 18:32, 7 March 2013
MFU is designed to all a user to update, edit and save the BIOS and IPMI firmware accross multiple nodes through a single command.
Download
We've only had access to the software via supermicro FTP. For the latest versions, please contact: James Chiang: JamesChiang@supermicro.com.tw
OS Prereq
Ensure 'Development tools' is installed
yum groupinstall 'Development tools'Turn off firewall or open up port 4422
Installation
- Scmsh must be installed on the host from which you will run the commands.
- Each node to be controlled must have the scmsh agent daemon installed on the system (scmnode).
Example installation of scmnode:
[root@head ~]$ unzip SCMSH\ V1.05_build.154_20121019.zip
Archive: SCMSH V1.05_build.154_20121019.zip
replace SCMSH V1.05_build.154_20121019/install_scmnode_v1.05_build.154_20121019-180231.tar.gz? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: SCMSH V1.05_build.154_20121019/install_scmnode_v1.05_build.154_20121019-180231.tar.gz
inflating: SCMSH V1.05_build.154_20121019/install_scmsh_v1.05_build.154_20121019-180231.tar.gz
inflating: SCMSH V1.05_build.154_20121019/quickstart.txt
inflating: SCMSH V1.05_build.154_20121019/ReleaseNote.txt
inflating: SCMSH V1.05_build.154_20121019/SCMSH v1.04 User Guide_20120608.pdf
[root@head ~]$ cd SCMSH\ V1.05_build.154_20121019
[root@head SCMSH V1.05_build.154_20121019]$ tar zxvf install_scmsh_v1.05_build.154_20121019-180231.tar.gz
install_scmsh/
install_scmsh/uninstall.sh
install_scmsh/scmsh.desktop
install_scmsh/install.sh
install_scmsh/scmsh.tar.gz
install_scmsh/README
[root@head SCMSH V1.05_build.154_20121019]$ cd install_scmsh
[root@head install_scmsh]$ ./install.shAdding nodes to the scmsh
For each node to be monitored by scmsh a line must be added to the /opt/scmsh/node.cfg file on the master node.
The line must contain four bits on information:
- Node Name
- Node Mac address
- Node Ipaddress / Hostname
- Port it will use to communicate (default 4422)
compute020=00:25:90:6C:DC:DE,compute020:4422Running in Interactive Mode
To start MFU in interactive mode, navigate to the install directory and run the command:
./run_scmsh
You will see a command prompt appear. There are a small number of commands used in MFU
- cd
Navigate around the different folders in MFU
- list
lists the commands available in the current folder - similar to ls in linux.
- help
List every command and option possible to be run - not really that clear but may be helpful in some cases
- MFU commands
To run a command from MFU, navigate to the correct folder and simply type the command. It will come up with help on waht options are needed for each command
Running in Scripted Mode
MFU can also be scripted to automate fw updates across a cluster
# Assumes the following are set
export LANG=C
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH:/opt/scmsh/lib
export SCMSH_PATH=/opt/scmsh/
export SCMNODE_PATH=/opt/scmnode/
# then run with scmsh <cmd>, for eg
./scmsh list node
[local] (0ms)
blade1 (MAC: 00:25:90:95:30:90, IP: 172.28.1.22, Port: 4422)
compute020 (MAC: 00:25:90:6C:DC:DE, IP: compute020, Port: 4422)
icr (MAC: 00:25:90:6A:E9:B9, IP: 10.9.2.1, Port: 4422)
Total: 3MFU flags
- -n <nodename>
The list of nodes you want to run the command on
- -f (only needed for some commands)
The file name either to read or write
- -m (only needed for some commands)
The mode in which the command runs (eg raw or script).
BIOS Commands
Get BIOS Information
$ ./scmsh biosfw/check bios info -n blade1
[blade1] (29ms)
Vendor: American Megatrends Inc.
Version: 1.0a
Release Date: 08/17/2012
ROM Size: 8192 kB
BIOS Revision: 1.0
Save BIOS FW
./scmsh x9biosfw/save bios fw -n <node_name> -f <file_name>
[root@head scmsh]# ./scmsh x9biosfw/save bios fw -f blade1_bios_save -n blade1 Please wait for saving BIOS firmware.... Don't power off the system or remove AC power! [blade1] (6399ms) File "blade1_bios_save" is received from slave node successfully.
Flash BIOS FW
The file b9dr72.c31 was obtained via the supermicro site. Download the latest BIOS revision and unpack:
[root@head scmsh]# unzip b9dr72_c31.zip
Archive: b9dr72_c31.zip
inflating: AFUDOSU.SMC
inflating: Readme for AMI BIOS.txt
inflating: b9dr72.c31 # <-- This is the file we will use with scmsh
inflating: ami.batThen to update, use the following command:
# ./scmsh x9biosfw/save bios fw -n <node_name> -f <file_name>
./scmsh x9biosfw/flash bios fw -n blade1 -f b9dr72.c31Here is the log file from /var/tmp/
[root@localhost tmp]# cat x9_flash_bios_log.log
Linux BIOS Flash Utility (for UEFI BIOS) V1.07
Copyright (C) 2012 Super Micro Computer, Inc. All rights reserved.
Finding BIOS ID...
ID found in BIOS: 0070D
ID found in file: 0070D
ID Match!
Writing BIOS flash...
Writing Block 4/128
Writing Block 6/128
Writing Block 94/128
Writing Block 96/128
Writing Block 128/128
Writing finishedVerify the BIOS version before and after the update:
# Before
[root@localhost ~]$ dmidecode | grep Version | head -n 1
Version: 1.0a
# After
[root@localhost ~]$ dmidecode | grep Version | head -n 1
Version: 1.0bBack up BIOS Config
./scmsh x9biosfw/backup bios config -n <node_name> -f <file_name> -m <mode>
Restore BIOS Config
./scmsh x9biosfw/restore bios config -n <node_name> -f <file_name> -m <mode>
Debugging
If you encounter problems, log files are generated for each command in /var/tmp for each node (so the node the agent/client daemon is running)
[root@localhost scmnode]# cat /var/tmp/*
ERROR:1 Unable to load Driver
----------------------------------------------------------------------------
| Copyright (c)2011 American Megatrends, Inc. |
| AMISCE Utility. Ver 2.01.1029 |
----------------------------------------------------------------------------
built date: 08/17/2012
Bios ID: 0070D
ERROR: Too many options '7D1AD92A7 F4FB50265243CA0 -y -B /opt/scmnode/4422/blade1_bios_save'.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING:
This can overwrite your current BIOS and CMOS!
Make sure you know what you're doing!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1705FEDA6D60AA5 Version:1.8.20100325
Syntax: 1705FEDA6D60AA5 [-h] [-v] [-y]
[-B file] [-b file] [[-x] [-r] -F file] [-f file] [-C]
Options:
-h Show this help page.
-v Enable verbose mode.
-y Assume that the answer to any question which would be asked is yes.
-B file Backup (save) current BIOS ROM chip contents to file.
-b file Backup (save) current CMOS memory contents to file.
-x Disable Supermicro BIOS ID checking while flashing.
-r Reserve the BIOS supported NVRAM while flashing.
-F file Flash (write) the file contents into the BIOS ROM chip.
-f file Flash (write) the file contents into the CMOS memory.
-C Clear the CMOS checksums.
Linux BIOS Flash Utility 1.0
Super Micro Copyright Reserved 2012.
cant open device