Flashing a BIOS chip with Bus Pirate
From DP
Let's assume that your starting conditions are the following:
1) You have a computer with installed GNU/Linux or BSD operating system
2) You want to start flashing the BIOS images to the motherboards of other computers - either to restore their closed source proprietary BIOS after a failed update; or to replace it with a free/open source alternative, which is:
coreboot together with a SeaBIOS payload. You could check Supported Motherboards list to see if your board is supported or what board it is better to buy
3) You already have a Bus Pirate, doesn't matter if it is v3 or v4
This article will help you to set up a working BIOS flashing environment by providing the advanced description of hardware side of the question
Contents |
Getting the right tools
NOTE: although this part could be viewed as a kind of advertisement by some of the readers, it just gives you an example of what tools could be suitable and where you could buy them (and I am giving multiple examples, not focusing on one seller or product!) It is strongly encouraged that you additionally research before making the final purchase decisions, because:
1) the prices could change
2) the seller's rating could drop
3) better tools could appear
Also, this article describes flashing SOIC8 chips as an example. There could be a slightly different method of connectivity to other types of BIOS chips, especially for those types of chips which don't have available-for-purchase test clips and/or whose pins are not physically exposed to a user, so that a user can't connect to them without soldering...
Soldering iron tool (temperature adjustable) and supplies
While trying to reduce the expenses as much as possible I found two great choices:
1) Cheap soldering tool, stand and set of iron tips ($6-$7)
2) ATTEN AT-SS-50, true ceramic core, stand and 1 iron tip (~$27)
Although "1)" is a great cost effective choice, its' "ceramic" core is pseudoceramic in fact - nichrome spiral; that means: slower time to heat, no thermal stabilization (you would need to control a temperature switch constantly to remain near your desired temperature), also it heats a lot after 15-20 mins of usage - uncomfortable for fingers - so need to make a break
"2)" is a cheapest true ceramic core soldering tool with adjustable temperature that I was able to find. It has a great quality, quick starting time, working temperture stabilization and does not overheat your fingers. But it is more expensive than "1)", so you need to decide if "1)" is enough for your projects or you need a better tool
Supplies: will add later, meanwhile you could look by yourself
1P wires
Copper has 1.65x times better electrical conductivity than aluminium
Many people are using 1P aluminium wires and are happy with them. But this BIOS flashing is very important task, so why settle for less? Here are some 12 strands pure copper 1P wires:
[*] 40 pcs of 20cm copper wires (~$2.25)
[*] 40 * 10 = 400 pcs of 20cm copper wires (~$13.80)
As you see it is possible to get 400 for a price of 200 by buying at bulk, so if you need a long lasting supply or would like to share with friends - it could be a good idea to consider 400 pcs option.
It is recommended that the wires used for BIOS flashing are less than 20 cm length. But 20 cm copper wire would be the same electrical conductivity as 20/1.65 = 12 cm aluminium wire - good enough; and if you still have some problems you wouldn't need to shorten a copper wire as much as you would have needed to shorten an aluminium wire
SOIC8 test clip
There are two types of this test clip:
[*] Standard type (~$6) with some additional stuff included to the price
[*] Advanced type with bent 1.27mm pins (~$9-$10)
While a "standard type" test clip is good by itself, there are long and thin aluminium wires soldered to it, you will have to remove them completely (or actually it is more convenient to leave a small 1 cm part of them) and solder the good copper wires. Meanwhile, "advanced type" has 1.27mm 1P pins that you could connect copper wires to right away
