how to flash HP iLO firmware without linux drivers or windows

If you're like me and have a HP Proliant system with iLO and need to upgrade the iLO firmware, but have neither windows nor an installation of one of HP's modified kernels with the special iLO drivers, nor anything else except w3m and sed, here's a way to update the firmware without the pain of first installing one of those things.

  1. Pretend that you have RedHat or Suse and go to the firmware download page for that distribution, and get what they call the "Online ROM Flash Component for Linux - HP Integrated Lights-Out". This is a self extracting shell script.
  2. sed 's/rm -rf/#rm -rf/' < CP005072.scexe > foo
  3. sh -x foo
  4. Notice where it tried and failed to run flash_ilo from in the above, and cd there: cd /tmp/sctmpdirnnnn
  5. Make sure the ilo164.bin looks like a valid firmware to you and upload it to iLO using the web interface.
Why they don't just provide the ilo164.bin as a standalone download, I don't pretend to know. I once installed windows just to flash iLO, I hope this saves someone from that trouble, and doesn't destroy any servers..