Fujitsu PRIMERGY: How to update BIOS and iRMC firmware remotely

There is a HTTP interface in iRMC for system BIOS and iRMC firmware updates. That means you can send firmware images to iRMC remotely to flash BIOS and iRMC. What you need is just to do a HTTP POST to /irmcupdate or /biosupdate with an update image.

Here are some examples using curl or PowerShell. In the examples, I used PRIMERGY BX2580 M1 BIOS and iRMC images for my PRIMERGY BX2580 M1 server. You can download BIOS and iRMC firmware files from Fujitsu download site

  • BIOS update using curl
  • $ curl -k --digest -u <iRMC username>:<iRMC password> -F "file=@<BIOS file>" http://<iRMC IP address>/biosupdate
    example)
    $ curl -k --digest -u admin:admin -F "file=@D3321-A1.UPC" http://192.168.10.21/biosupdate

    The above command stages the BIOS file to iRMC. If the server is powered off, then iRMC powers it on and starts BIOS flash. If it is not powered off, BIOS flash will be started after you shut down the OS.

    To check the update status, you can do a HTTP GET to /biosprogress. It will return the status in XML.

    example)
    $ curl -k --digest -u admin:admin http://192.168.10.21/biosprogress
    <?xml version="1.0" encoding="UTF-8"?>
    <Status>
    <Value>8</Value>
    <Severity>Information</Severity>
    <Message>FLASH programming in progress 33 Percent</Message>
    </Status>
    
  • iRMC firmware update using PowerShell
  • PS> $username="<iRMC username>"
    PS> $password=ConvertTo-SecureString "<iRMC password>" -AsPlainText -Force 
    PS> $credential = New-Object System.Management.Automation.PSCredential $username, $password
    PS> Invoke-WebRequest -Uri "http://<iRMC IP address>/irmcupdate?flashSelect=255" -Method Post -Credential $credential -InFile "<iRMC firmware image>" -Verbose
    
    example)
    PS> $username="admin"
    PS> $password=ConvertTo-SecureString "admin" -AsPlainText -Force 
    PS> $credential = New-Object System.Management.Automation.PSCredential $username, $password
    PS> Invoke-WebRequest -Uri "http://192.168.10.21/irmcupdate?flashSelect=255" -Method Post -Credential $credential -InFile "C:\FW\BX2580M1_0824F.BIN" -Verbose
    

    An iRMC firmware update does not require a system reboot. It will be updated while the OS is running.

    To check the update status, send a HTTP GET request to /irmcprogress. It will return the status in XML.

    example)
    PS> $username="admin"
    PS> $password=ConvertTo-SecureString "admin" -AsPlainText -Force 
    PS> $credential = New-Object System.Management.Automation.PSCredential $username, $password
    PS> [xml]$response = Invoke-WebRequest -Uri "http://192.168.10.21/irmcprogress" -Method Get -Credential $credential -Verbose
    PS> $response.status |fl
    
    Value    : 8
    Severity : Information
    Message  : FLASH programming in progress 48 Percent
    
    

9 comments:

eshwar said...

Do we have any option to bios setting remotely deploying on more than 100 server at a time on fujitsu PRIMERGY RX2530 M4.

Unknown said...

I want to update bios for my fujtsu PRIMERGY RX2540 M4 server, when i check in support portal, i saw 2 version:
+ D3384-A1x - Admin package - Compressed Flash Files
+ Flash BIOS RX2540 M4 (ASP for Windows)
What is the diffirent, which version should i get ?
Thank you.

Patrak said...

Dear,

Use the first package (Admin Package) if you want to update the Bios from the iRmc or using a Usb boot drive.
-> iRmc = Unzip the package locally and upload the .UPC file.
-> Usb Boot Drive - Create a Usb boot drive (google for it) and add the content of the unzipped package inside a dedicated folder.
Boot the server from this Usb drive and run the DosFlash.BAT under the DOS folder from the command prompt.

The second package (ASP for Windows) is to be used from a Windows OS.

Regards

Carlo S said...

hi,
i'm trying to update the irmc s2 of a tx170 s7, but i think i can't update it to s3 or s4, right?

jonjof said...

Please advise if a BIOS update can be done via Powershell.
Unless I am missing something, I only see the IRmc update shown via Powershell?
Thanks
Jonathan

Masa Murayama said...

Hello Jonathan,

You can update BIOS via PowerShell. You just need to replace "irmcupdate" with "biosupdate" in the URL string as I showed in the curl example above.
For example, the target iRMC IP address is 192.168.10.21, the bios update URL is "http://192.168.10.21/biosupdate".

You can also update iRMC and BIOS via Redfish API from you PowerShell script.

Thanks,
Masa

jonjof said...

Thanks Masa
To confirm on the specific BIOS file that is used, I assume it is the *.rom file that is found in the flash file download, or is it also necessary to include the .UPC or .UPD files?
Jonathan

Masa Murayama said...

Hi Jonathan,

The BIOS update file for this should be "*.UPC". It's the same as the one used in the BIOS Update menu in iRMC GUI.

jonjof said...

Thanks Noted. Good luck with your next venture. Jonathan

Good Bye, Folks!

As you may have heard, Fujitsu has completely discontinued Data Center Products and Solutions business in North America on April 1st, 2021. ...