One might assume upgrading is as simple as booting latest HP SPP (HP Service Pack for Proliant) ISO-image using ILO2 remote console and virtual media. Not quite. It'll just get stuck in pulsing HP logo with blue bar on bottom of screen. So here's some notes how I got this working after spending too many hours testing and hunting upgrades from Internet that HP is no longer offering on their website for old servers that are out of warranty.
First you need to upgrade ILO2 firmware. You can't do it using web browser since old firmware is broken and upgrade process gets stuck at 99%. I couldn't use Windows flasher either as this server is running VMware ESXi. Even with old browser and old Java virtual media redirection is unusable slow due floods of TCP retransmissions so no possibility of booting from removable media using ILO to upgrade ILO. So we have do it using SSH.
1. Download ILO2 firmware upgrade ilo2_225.bin and place it on HTTP server accessible from your management network
2. Connect to ILO using SSH with same login and password you have set for web access
3. Type "cd map1/firmware1"
4. Start firmware upgrade by typing "load -source http://192.168.1.1/ilo2_225.bin"
5. Wait around 10 minutes for upgrade to complete
6. Login using web browser and confirm that ILO2 is now running firmware 2.25
Next we need to use old "Smart Update Firmware DVD Proliant Support Pack v10.10" from 2012 because newer SPP is not compatible with older firmwares. Don't even think about using automatic upgrade either like Firmware DVD suggests when booting from ISO image as it will just end up getting stuck in X11 desktop with default cursor. Instead use manual mode and click thru dozens of Next Next Next dialogs. This may downgrade ILO2 to 2.09 which should be ok as virtuel media problem was fixed in 2.01.
Now we can finally boot from latest SPP 2014.09 (HP_Service_Pack_for_ProLiant_2014.09.0_792934_001_spp_2014.09.0-SPP2014090.2014_0827.10.iso) ISO image. If your server is G5 or older use SPP 2014.06 (HP_Service_Pack_for_Proliant_2014.06.0_784915_001_spp_2014.06.0-SPP2014060.2014_0618.4.iso) instead. If you feel lucky you can try automatic upgrade option on boot menu. Surprisingly it did work for me.
Link to tools of trade.