Hacking The EX47* MediaSmart BIOS
To complete this exercise, you must download two free software tools and two “donor BIOSes” from which necessary ingredients will be extracted to patch the BIOS built into the MediaSmart Server. You’ll want to copy all of these files to a directory on the MediaSmart Server—I created a folder on the D: (Data) drive called BIOS-lab where I then worked to complete the BIOS maneuvers needed to update the BIOS. Table 5 provides information about and links to these downloads.
Table 5: BIOS Update Tools and Inputs
|Name||Description||URL ( all start with http://)|
|WinFlash.zip||Award BIOS tool||www.techpowerup.com/downloads/1282/Winflash_126.96.36.199.htm|
|Cbrom182.zip||Bios edit / extract tool||www.esnips.com/doc/0c608383-606f-4761-91c1-8820dd83a7fa/|
|SS21S10J.bin||Shuttle donor BIOS||eu.shuttle.com/download/Downloads/Barebone/SS21T/|
|M601b_18.zip||Abit donor BIOS||file.abit.com.tw/pub/download/bios/an9//m601b18.zip|
While there are newer versions of CBrom around (the latest appears to be 2.15), I couldn’t get them to work properly with the EX47* BIOS. That’s why I stuck with the older version recommended in my source for this hack at Alex Kuretz’s excellent MediaSmartServer.net site.
Basically, what’s going on here is you’re adding two elements to the existing Award BIOS that HP installs on the MediaSmart Server. One adds support for dual-core AMD CPUs (agesacpu.rom) and the other adds the ability to recognize more processors than the built-in BIOS can (acpitbl.bin). WinFlash is the tool you use to copy your existing BIOS for hacking and CBrom is the tool you use to extract modules from the other two donor BIOSes and add them to your existing BIOS. Finally, you use WinFlash to update the MediaSmart BIOS to add the changes you made using CBrom. After all these maneuvers, your updated MediaSmart EX47* Server should be able to recognize a 3800+ and the various LE- and BE-class processors that will work in this machine. Here’s the step-by-step drill:
Step 1: Download and Place the Files in a Working Directory
Mine was named BIOS-lab, but you can call yours whatever you like. I’ll simply call it the working directory from here on out. To begin, visit the links in Table 5 and download the various files onto the EX47*. I did this from a remote desktop connection from my primary production machine and you should do likewise. Extract the contents of all the ZIP directories into your working directory. Except for M601b_18.zip, you need only to extract the BIOS file itself, M601b_18.BIN, into that directory. This should produce a list of files like the one you see in the next screenshot:
Step 2: Run WinFlash on the EX47* Server, Create a BIOS Backup.
Using either Windows Explorer or the command line on the MediaSmart Server, navigate to the working directory and run the WinFlash.exe program. Click on File, then Save original BIOS. By default, this will save the server’s BIOS into a file named awdbios.bin. Next, create a copy of the awdbios.bin file and name it awdbios.bak (you’ll need this if anything goes wrong with your BIOS edits). Just to be extremely safe, you might want to copy this file to a USB flash drive as well.
Step 3: Use CBrom to Add Missing Items to the EX47* BIOS
Use your command window to run the following sequence of commands from inside the working directory (you can skip the comment text which starts with a hash mark #):
- cbrom182 awdbios.bin /d #displays BIOS content
- cbrom182 SS21S10J.BIN /acpitbl extract #extract acpitbl from Shuttle BIOS into file acpitbl.bin
- cbrom182 mb601b_18.BIN /gv3 extract #extract agesacpu from Abit BIOS into file agesacpu.rom
- cbrom182 awdbios.bin /gv3 agesacpu.rom #insert Abit BIOS element into Award BIOS
- cbrom182 awdbios.bin /acpitbl acpitbl.bin #insert Shuttle BIOS element into Award BIOS
- cbrom182 awdbios.bin /d #display patched BIOS content
If all goes well, you’ll see a display like the following when you enter the final command, which now includes the added GV3 and ACPI Table elements as items 11 and 12 in that list. If you follow the instructions to the letter, everything should work just fine. If your results are not the same as what you see here, don’t proceed to the next step until they match.
Step 4: Flash the BIOS on Your EX47* Server
Open WinFlash again, then click File, Update BIOS. Be sure to close all other open applications before you do this. Because you’re flashing the BIOS from Windows, you don’t want Windows to get distracted while this process is underway. If you’re feeling vulnerable, you might even want to disconnect the server from the network while you complete this task. It’ll squawk, but it’ll still work.
When you reboot your server, it should recognize any of the new CPUs you might have installed. For dual-core CPUs, a second reboot is often required to get WHS to recognize the second processor core (that’s what happened on my machine when I did the upgrade, and is also widely reported by other users who’ve done likewise).
With a patched BIOS, the EX47* servers can identify LE- and BE-class AMD processor.
Check prices for HP's MediaSmart EX475