Updating BIOS and Firmware on a Group of Servers

Dell OpenManage™


By Angela Qian

May 2002

Contents

Executive Summary

The omupdate Command

The BIOS and Firmware Update Packages

Security

Creating the Centralized Log File

Using Microsoft SMS to Remotely Update Multiple Servers’ BIOS and Firmware

Using SMS Installer to Create an Executable that will Copy the Update Package to the Target System c:\temp

Making a SMS Distribution package

Using ShipIt to Remotely Update Groups of Servers’ BIOS and Firmware

Conclusion

Figures

Figure 1: Sample Architecture Using Server Administrator with SMS or ShipIT

Figure 2: BIOS Update Command Format

Figure 3: Firmware Update Command Format

Figure 4: OpenManage Format BIOS Update Package for PowerEdge 6400/6450

Figure 5: Installation Attributes

Figure 6: Installation Interface: Application

Figure 7: SMS Administrator Console

Figure 8: BIOSUpdate 1.0 Package Properties

Figure 9: Set Source Directory

Figure 10: BIOSUpdate 1.0 Expanded

Figure 11: ProgramProperties

Figure 12: Program Properties – Environment

Figure 13: Program Properties – General

Figure 14: Program Properties – Advanced

Figure 15: BIOUpdate 1.0 Progams

Figure 16: Advertisement Properties - General

Figure 17: Advertisement Properties - Schedule

Section 1

Executive Summary

This paper discusses Dell OpenManage™Server Administrator command-line interface (CLI) update feature. The Server Administrator CLI is designed for environments in which system administrators perform most tasks using scripts that run on groups of Dell™ PowerEdge™ servers. Using the Server Administrator CLI, it allows administrators to script reports, configuration changes, and updates to the Server Administrator software and the components it manages – such as server BIOS and firmware. CLI enables systems management products such as Microsoft® System Management Server (SMS) or Computer Associates ShipIt™ to remotely manage a particular server or a group of servers. Using Server Administrator CLI through distribution software, it is possible to schedule remote updates to run on multiple servers simultaneously.

This paper gives the examples on how to use Microsoft® SMS and Computer Associates ShipIt to update the BIOS and firmware on a group of servers. The following discussion relies upon several assumptions. First, OpenManage Server Administrator resides on each managed server that requires a BIOS or firmware update. For information about how to install Dell OpenManage Server Administrator, refer to Dell OpenManage Server Administrator User’s Guide. Second, the administrator already has installed and configured Microsoft SMS, installed the remote agents from within SMS to the client systems, and configured the clients. For more information, refer to the Microsoft Systems Management Server 2.0 documentation. For the example that uses ShipIt, assume that administrator has ShipIt 2.0.1 or later already installed on the system. For more information, refer to Computer Associates ShipIt documentation.

Figure 1 shows the typical architecture using Server Administrator and SMS or ShipIt.


Figure 1: Sample Architecture Using Server Administrator with SMS or ShipIT

Section 2

The omupdate Command

The command-line interface has a command omupdate. This command allows system administrators to update a server’s BIOS and firmware, including the Embedded Server Management (ESM2 and ESM3) firmware. The command format is as follows:

  • BIOS Update


omupdate biosupdate path=absolutely path of thebios update package file

Figure 2: BIOS Update Command Format

  • Firmware Update


omupdate fwupdate path=absolutely path of the firmware update package file

Figure 3: Firmware Update Command Format

The path can be a universal naming convention (UNC) path to a shared driver, as shown in Figure 3. The omupdate command uses a validation mechanism to ensure that the update can be applied. There are certain conditions that must be met prior to performing an update. Dell’ s update service performs the validation to ensure that the update package is the right package for the system. The update cannot be performed unless the critical validation criteria are successfully met; the areas of critical validation include system support and operating system. If any critical validation is not met, the appropriate error message is given. If the update was successful, a message indicating that success is displayed.

Section 3

The BIOS and Firmware Update Packages

OpenManage Server Administrator provides the ability to update BIOS and ESM firmware. To do so, Server Administrator requires a new OpenManage format *.zip file. The new files are posted alongside other existing BIOS and ESM postings at Dell OpenManage Server Administrator uses these packages to ensure that specific validation criteria are met before performing the updates, and to apply the updates.

The name for BIOS update package file has the following convention:

PEXXXX-BIOSAYY.zip

The name for ESM firmware update package file is ESMAYY.zip or PEXXXX-ESMAYY.zip.

Where:

  • PE is PowerEdge
  • XXXX – is the model number, such as 2500
  • A – is the “A” rev
  • YY – is the version number, such as 06


Figure 4: OpenManage Format BIOS Update Package for PowerEdge 6400/6450

For example, Figure 4 shows an OpenManage format BIOS update package PE6400-6450-BIOSA10.zip for PowerEdge 6400 and 6450 with version A10.

One way to update the server BIOS or firmware is to send the update package file (the OpenManage format *.zip file) down to each server that needs to be updated by using a distribution method (i.e., ShipIT or SMS). Another way is to put the update package on a shared server that all servers have access to, and then gives the UNC path to the update package file. In this case, the most important characteristic of the update package location is that it must be accessible from the group of systems to be updated.

With SMS example, copy the update package to each server and then perform the update. With CA ShipIT example, use the UNC path for the update package file to perform the update.

Section 4

Security

General security is provided by relying on administrator-level logon requirements established by systems administrators through normal operating system logon procedures. Users can remotely logon using the native operating system or other tools deployed in their enterprise to execute CLI, such as Microsoft® System Management Server (SMS) or other remote access services. CLI is required to verify administrator privilege level before executing any command. Failure to verify administrator privilege causes the command line interface to display the appropriate error message. For more information about Server Administrator, please see the OpenManage Server Administrator Security white paper at

Section 4

Creating the Centralized Log File

To create the centralized log file that contains each server’s update status, Dell used the shared server – the same server was also used to store the update package – as the server that to which to send back the centralized log file. The final centralized log file may look like following:

Hostname of the system1

Successful or error message for BIOS or firmware update on system1

Hostname of the system2

Successful or error message for BIOS or firmware update on system2

Hostname of the system3

Successful or error message for BIOS or firmware update on system3

Section 5

Using Microsoft SMS to Remotely Update Multiple Servers’ BIOS and Firmware

This section provides instructions to perform the following tasks:

  • Copy the update package to all selected servers that need to be updated.
  • Perform BIOS or firmware updates on all selected servers
  • Perform a reboot on all updated servers
  • Write the update result for each selected server back to the centralized log file

In order to complete the above tasks, it is necessary to do this in two primary steps. First, use the SMS Installer to create an executable that will copy Dell’s update package to the target systems’ temp directory. Then make a SMS distribution package that will perform two programs (copy file and perform the update) to complete the update on BIOS or firmware.

Using SMS Installer to Create an Executable that will Copy the Update Package to the Target System c:\temp

Obtain the BIOS or firmware OpenManage format update packages from and store them to a local system. Dell suggests creating a directory c:\update on the local system and saving the update packages under the c:\update directory.

  1. Start the Microsoft SMS Installer, which is a separate program from SMS. Install the Microsoft SMS Installer from SMS CD.
  2. The Microsoft Systems Management Server Installer main dialog box appears. Double click the Installation Interface from the left pane.


Figure 5: Installation Attributes

  1. The Installation Interface dialog box appears. Select Single File Installation radio box from Media tab.
  2. Click on Application tab, enter the name for the executable and enter the default directory you want to copy to on the target machine, see Figure 6. Unselect the check box of Place default directory under Program File
    Sample entries:
    Software Title: CopyPackage
    Default Directory: temp


Figure 6: Installation Interface: Application

  1. Click Dialog tab and unselect all the check boxes.
  2. Click OK from Installation Interface to get back to the Microsoft Systems Management Server Installer main dialog box as shown Step 3.
  3. Double click on Application Files from the left pane. The Application Files dialog box appears. Click on File tab and select the OpenManage format update package to copy to the target system. For example, the PE2300-BIOSA05.zip file is the BIOS update package for PowerEdge 2300 version A05 to store in the c:\update directory created in Step 1. Click OK.
  4. Double click on Runtime Support from main dialog box (shown in Figure 5) to bring up the Runtime Support dialog box. Unselect Uninstall Support. Click OK.
  5. From Microsoft Systems Management Server Installer main dialog box (shown in Figure 5), click on Compile button to save the installer file. There is an .ipf extension to the file. For example, it is possible to save the file to a local c:\update directory created in Step 1. Give the file name as copypackage and click Save button, two files will be saved to the c:\ update, one named copypackage.ipf and one named copypackage.exe. The copypackage.exe file is the one to use in the SMS distribution package.

Making a SMS Distribution package

A SMS Distribution package will copy the BIOS or firmware update package over to target system c:\temp and perform the BIOS or firmware update on the target system.

In the following example, the assumption is that the user already has a SMS site set up and user knows how to create the site, packages and publishing the application through SMS. The user should use the information provided below to find out what command and files need to be added to the SMS distribution package in order to create the custom distribution package.


  1. Start the SMS Administrator Console, as shown in Figure 7.

Figure 7: SMS Administrator Console

  1. Right-click the Packages folder, click New from the context menu, and choose Package. The Package Properties dialog box appears.
  2. Under General tab (see Figure 8), type the Name (this value must be unique), Version, Publisher, Language, and any Comment.
    Sample entries:
    Name: BIOSUpdate (or FirmwareUpdate for firmware update)
    Version: 1.0
    Publisher:
    Comment:


Figure 8: BIOSUpdate 1.0 Package Properties

  1. Click the Data Source tab and check the check box. This package contains source files. The Set button becomes active. Click the Set button to bring up the Set source Directory dialog box (see Figure 9) and select the location of the update package folder. In this example, select the Local drive on site server radio box and the Source directory will be c:\update as created in Step 1. Click OK.

Figure 9: Set Source Directory

  1. Click the Data Access tab and define how you want SMS to store your package source files on the distribution point servers.
  2. Click the remaining tabs (Distribution Settings, Reporting, and Security) and specify the options you prefer. Click OK.
  3. Click the new package name (BIOSUpdate 1.0 or FirmwareUpdate 1.0 created in Step 12) to expand it to configure the Access accounts, Distribution points, and Programs, see Figure 10.

Figure 10: BIOSUpdate 1.0 Expanded

  1. Right-click the Access Accounts item, choose New from the context menu, and choose the access account, account type, and either Change or Full Control permissions. Click OK.
  2. Right-click the Distribution Points item, choose New from the context menu, and choose Distribution Points to start the New Distribution Points wizard.
  3. Click Next and select the check box beside at least one distribution point you want. Click Finish.
  4. Right-click the Programs item, choose New from the context menu, and choose Program. The Program Properties dialog box appears.
  5. In this Program Properties dialog box, see Figure 11, under General tab type the following values, specify any other options or information you want:

Sample entries:

Name: copyfile
Command line: copypackage.exe (the one created in Step 9)

After running: No action required

Figure 11: Program Properties

  1. Click the Environment tab, see Figure 12, and deselect the User input required check box. Select Whether or not a user is logged on from Program can run option from the drop down list. Select any other desired options.

Figure 12: Program Properties – Environment

  1. Click the remaining tabs (Requirements and Advanced) and specify the appropriate options. Click OK.
  2. Right-click the Programs item; choose New, Program from the context menu to bring up the Program Properties dialog box again.
  3. This time, under General tab (see Figure 13) type the following values, specify any other options or information you want:
    Sample entries for BIOS update using update package selected in Step 12:

Name: biosupdate
Command line: omupdate biosupdate path=c:\temp\ PE2300-BIOSA05.zip

-outa \\sharedriver\result\log.txt

After running: SMS restarts computer

Figure 13: Program Properties – General

Sample entries for firmware update using update package selected in

Name: firmwareupdate
Command line: omupdate fwupdate path=c:\temp\PEXXXX-ESMAYY.zip

-outa \\sharedriver\result\log.txt

After running: SMS restarts computer

  1. Click the Environment tab and deselect the User input required check box. Select Whether or not a user is logged on from Program can run option from the drop down list. Select any other options that you want.
  2. Click the Advanced tab (see Figure 14) and check the check box Run another program first. From Package drop down list, select the BIOSUpdate (or FirmwareUpdate) created in step 12. From Program drop down list select the copyfile that we created in step 22.

Figure 14: Program Properties – Advanced

  1. Click OK. The copyfile and biosupdate show under Programs (see Figure 15).

Figure 15: BIOUpdate 1.0 Progams

  1. Right-click the Advertisements folder at the left in the SMS Administrator Console. From the context menu select New and Advertisement. The Advertisement Properties dialog box appears.
  2. In Advertisement Properties under General tab (see Figure 16), typea name for the advertisement and any comment. From Package drop down list, select the BIOSUpdate 1.0 (or FirmwareUpdate 1.0). From Program drop down list select biosupdate (or firmwareupdate) created in step 25. Then select the collection (the target systems) to receive the advertisement of your BiosUpdate (or FirmwareUpdate) program distribution.

Figure 16: Advertisement Properties - General

Note: In the Program drop down are the two programs just created. One is copyfile and one is biosupdate (or firmwareupdate). Choose biosupdate (or firmwareupdate) program since step 27 specified that in order to run this program, copyfile program will be run first.

  1. Click the Schedule and Security tabs and specify the options you want to define the start and expire time and priority of the advertisement.

Figure 17: Advertisement Properties - Schedule

By doing the above steps, the BIOS or firmware update package will be copied down to the systems you selected. The BIOS or firmware update will get performed on these selected systems and the results will be written to log.txt file on a shared system.

Section 6

Using ShipIt to Remotely Update Groups of Servers’ BIOS and Firmware

Here is the list of tasks that will be performed by following example:

  • Using a shared system to store all the update packages.
  • Perform the BIOS or firmware update on all selected servers.
  • Perform the reboot on all updated servers
  • Write the update result for each selected server back to the centralized log file on shared system.

The following are the step-by-step instructions to complete the above tasks:

  1. Get the BIOS or firmware OpenManage format update packages from and store it on your shared drive that all your systems can access to it.
  2. Create a command file, Update.cmd that will use as our install program.

For BIOS update, have the Update.cmd read as following:

Hostname > \\sharedserver\result\log.txt

omupdate biosupdate path=\\sharedserver\packages\PEXXXX-BIOSAYY.zip

-outa \\sharedserver\result\log.txt

omconfig system shutdown action=reboot osfirst=true

For firmware update, have the Update.cmd read as following:

Hostname > \\sharedserver\result\log.txt

omupdate fwupdate path=\\sharedserver\packages\PEXXXX-ESMAYY.zip

-outa \\sharedserver\result\log.txt