Updating the eUFI (BIOS) settings for the dx360 M2 is much easier to do now with the IMM that it comes with. You can even update it and make changes even if there is no operating system installed on the system.  There are two files you’ll need:

  1. ASU tool:  This is the tool you use to change eUFI settings.
  2. Linux BIOS update tool.  This can be downloaded at IBM’s web site.  There is a tool for updating the eUFI, the IMM, and other things like SAS firmware.  The main ones you’ll probably need are teh eUFI and IMM updates.

All three of these tools update a machine through the network.

The first act of bravery you will need is to find the ASU tool and the latest eUFI update on IBM’s web site.  I found the ASU update here.  The ASU tool will allow you to remotely access nodes and make updates to their BIOS.

The best way to navigate IBM’s site for iDataplex is go to the home page, then at the bottom click on support, then choose System X, then dx360 M2 and never select an Operating system.  From there you can see other updates you can do.

Once you find it, you can download the Linux x86_64 image and place it on a linux server that has network access to the IMM of the particular node you are trying to update.  Then extract it with tar and you’ll see a file called ‘asu64′.  This is the tool we will use.

Change eUFI/IMM Settings

Step 1.

Create a file of all the changes you want to the eUFI.  Mine looks like this:

set uEFI.TurboModeEnable Enable
set uEFI.ProcessorHyperThreading Disable
set uEFI.RemoteConsoleRedirection Enable
set uEFI.SerialPortSharing Enable
set uEFI.SerialPortAccessMode Dedicated
set uEFI.Com1TextEmul VT100
set uEFI.Com1ActiveAfterBoot Enable
set uEFI.Com1FlowControl Hardware
set uEFI.AdjacentCacheLinePrefetch Disable
set uEFI.OperatingMode "Efficiency Mode"

Suppose you don’t know what settings are available to change?  Then, you can get the current settings of a machine by running:

./asu64 show all  --host 10.0.0.16 --user xcat --password f00bar

The IP address is the IP address of the IMM, the default userid is USERID.  The default password is PASSW0RD (P-A-S-S-W-zero-R-D).  The IP address is usually set by default in the factory.  xCAT is able to set it up automatically too.

2.  Update it.

Once you know what you want to update, take that batch file you created and then run:

./asu64 batch settings  --host 10.0.0.16 --user xcat --password f00bar

That’s it!

Update eUFI or IMM

This is a similar process to the previous tool.  Let’s update the IMM first.  On my management server, I just run:

./ibm_fw_imm_yuoo24i_linux_32-64.bin -x .

This will extract all the files we need.  Then run:

./iflash64 --package imm_yuoo24i.upd --user xcat --password f00bar  --host 10.0.0.16
...
Connected to IMM at IP address 10.0.0.16.
Update package firmware type: IMM
Update package build level:   YUOO24I
Target's current build level: YUOO24H

Would you like to continue with the update? y/n: y

The IMM is preparing to receive the update.

Transferring image: 100%
Transfer complete.
Validating image.
Updating firmware:  100%
Update complete.

Performing activation of the firmware:
.........
Waiting up to 240 seconds for the activation to complete:
............................................................
............................................................
............................................................
............................................................
Waiting up to 240 seconds for the IMM to answer to build id requests:
............................................................
............................
The new version of the targeted firmware is YUOO24I.

Firmware flashed successfully

The draw back of this is that it takes forever to do the verifications!  If you’re going to do this for a lot of machines, I recommend you fork out the different processes and tee the output to a separate file for each one so you can see the output.

This same proceedure is done for updating the eUFI:

./iflash64 --package ibm_fw_uefi_tme126a_anyos_i386.upd --user xcat --password f00bar --host 10.0.0.16

The output looks the same as when you updated the IMM.  Note that this procedure is the same for all IBM Nehalem based products.