July 3, 2009 - Matthijs Haverink
Change Microcode in Xenserver/Everrun
Up until today I even didn’t know what Microcode or what it’s purpose was. After today I’ve learned a lot about it and would like to share it with you.
“Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors” is the description from Wikipedia. I read more and normally the microcode is updated by using a BIOS upgrade or ROM Flash from your vendor (In my case Intel).
Why was I updating this? Because I was updating my Marathon Everrun version from 4.0.2 to 5.0.0 to add Level 3 Fault tolerance. And after the upgrade I couldn’t protect my machines with level 3 protection because of the out of date microcode. So my logical next step was to update my BIOS. After updating my bios through the linux tool provided by HP I rebooted the server and still got the error message. So my Microcode still hadn’t been updated.
After a long and hard search I found out that for Example ESX and some Linux versions update the microcode during the boot sequence by placing a microcode.dat file within the /etc/firmware folder on the root of the server. But of course this folder doesn’t exist on a XenServer (Would have been to easy). So I started looking for a microcode.dat and found it on the server directly in the root of the /etc folder. I renamed the file to microcode.dat.old en placed my microcode .dat (provided by Intel) in the root of the /ETC folder.
Rebooted the server this did the trick. Good Luck