HP Microserver Gen8 - Firmware and BIOS
2021-07-29 NAS HP Microserver Gen8I have an HP Proliant Microserver Gen8 which I use as my main NAS. One of the really neat things about it is that it has Integrated Lights Out. This is HP's version of Out of band management. Dell has DRAC, Cisco has IMC. It's also known as IPMI. Anyway, mine was old and needed updating.
What's out of band management? #
Think of it as being a way of controlling the hardware of the server completely remotely - you can turn it on and off, mount disks, update BIOS and get access to the screen and keyboard - rather like you can with a virtual guest on a hypervisor. But how?
The server has a tiny, completely separate computer inside it - usually ARM based - which is connected to the console ports. Think of it being like a Raspberry Pi inside. It has its own network interface, is always turned on (provided it's plugged in, obviously), has the ability to control power to the actual server and has a direct connection to the serial console so it can view video output and send input commands (keyboard and mouse). We'll call this the management controller. It's this management controller which runs HP's iLO.
So? #
So if there's a problem with the server - which is in a cupboard and has no keyboard or monitor - I can connect to the iLO and see what's going on at the console. I can turn it off. I can mount a disk (virtually) and reinstall the operating system. If the OS is not booting far enough to get network access, I can still see what's going on. It's a feature more obviously aimed at enterprises, but it's useful for anyone who's running a server.
It's worth noting that:
- The iLO runs its own operating system. This is called the Firmware.
- The main server is a "normal" computer and has a BIOS and operating system.
Keeping it up to date #
Until recently I was running old firmware and BIOS. For my own usage this isn't really so bad, but there was one big downside to the old firmware - and that was that the virtual Keyboard Video Monitor (KVM) could only be used with no-longer-supported Java applet or a .NET application. The .NET application works perfectly - but I'm no longer running Windows - so could only use it by remoting into a Windows server. But the new firmware has an HTML5 KVM and runs in a browser. Much better.
The instructions for updating are pretty bad and confused me since they had different options for different Operating Systems and even suggested having to use a USB key, which would mean taking the server apart to get to the system USB slot. But with some help from a friend I found what to do.
Performing the updates #
By way of preparation, log into the iLO and navigate to
Administration > Firmware
.
Note, that on this page, as well as talking about the iLO firmware, it says the following:
The following types of server firmware can also be updated from this page:
- HPE System ROM
- System Programmable Logic Device
- SL/XL Chassis Firmware
In other words, we can upload the Firmware (the OS for the iLO) and the BIOS
(or HPE System ROM
as it's called here). Some vendors (such as Cisco) require
that Firmware and BIOS are updated in lockstep; I think that's something to do
with TPM. We don't have
to worry about that here.
So now all we need to do is get the files to upload, and we can ignore all the complicated instructions on the HP website.
HP provides different packages for different OSes - but when it comes down to it, they're all just different archive formats containing a bunch of files. If you're on Windows, download the Windows versions (they're exe files) and open them with 7zip. I do two different approaches below so you get the idea.
Firmware #
- Download
CP046465.scexe
from here: https://support.hpe.com/hpesc/public/swd/detail?swItemId=MTX_f9793b0af23f47469a0de5be66#tab3 - Put it somewhere on your linux or macOS filesystem. Then run
And you should seesh CP046465.scexe --unpack=output
ls -al ./outputilo4_278.bin
- Upload
ilo4_278.bin
to the firmware page and the iLO will get updated and reboot. Remember, though, that the iLO is running on a separate "computer" - your server will continue to run.
BIOS #
- Download
cp039540.exe
from here: https://support.hpe.com/hpesc/public/swd/detail?swItemId=MTX_71b9ad7e388d434fb62f7542e3 - Open
cp039540.exe
with7zip
orUnarchiver
or something. - Find
CPQJ0613.684
- this is the BIOS / ROM - I found that I had to manually reboot the server after uploading - but just in case, get your server in a state where you're ready to shutdown and restart.
- Upload
CPQJ0613.684
to the firmware page. And then reboot. - Watch the boot screen in the KVM - and you'll see the BIOS date is now 2019 (or whatever)
- You can also see the result in
Information > Diagnostics
You can see the results above, running the KVM in a browser. Magic! These instructions are summarised from this rather good post
- Previous: DIY Devices - The VPN