Homemade BIOS switch for EPIA boards (and others with 2MBit chips)

Sven Luebke sven.luebke at mikrosol.de
Sun Sep 21 08:14:00 CEST 2003


Hi!

I didn't find the BIOS Sa**our here in Germany so I made my own one. Of course
this hack is nothing special, but perhaps useful for beginners! EPIA5000 owners
don't have to modificate the board itself. Background: The capacity of the 
new flash
chip is twice as large (4MBit) as the original chip, so we can burn a full 
BIOS in the
lower part of the memory AND in the upper part of the memory. To choose between
them, we use the highest address pin (A18). If A18 is low, the "lower" BIOS is
selected, if it is high, the "upper" BIOS is activated (you need a reboot 
of course).
I use this setup since 5 days and everything is working as it should. 
Please don't
build it, if you do not know what I'm talking about!!! Use it at your own 
risk !!!!

Installation:

Take a AMD 29F040(B)-70 (you can find them on ebay) flash chip, bend Pin 1 
(A18)
in the other direction, as close to the chip as possible. Then solder an 
isolated wire
to this pin, isolate this pin EVERYWHERE with a piece of tape (it's 
IMPORTANT, that
it doesn't get contact with the PLCC socket pin, you can't bend it so close 
to the chip)
and solder this wire to the "middle" contact (which connects EITHER to the 
left pin OR
to the right pin) of a 3-pin-switch.

Now you have to find a 5V and GND source, solder/connect two isolated wires to
them and solder the other side of the wires to the two other pins of the 
3-pin-switch.
For other boards than the EPIA5000 you have to be sure, that the supply voltage
of the flash chip (called VCC) is 5V, otherwise you have to measure it and 
search for
a source equal to the measured voltage (!!!they have to be the same!!!). 
For the
EPIA5000 you can use the "Modem wakeup" connector, take an appropriate plug
inclusive wires and connect the other sides of the wire to the switch 
(that's what I did).

If your board is powered on, TURN OFF YOUR BOARD NOW, insert the AMD flash chip
(take out the SSF 39SF020A before :-) ) and make sure, that pin 1 of the 
flash chip has no
electrical contact to the PLCC socket contact. Make sure that you soldered 
your switch
as described above: Pin 1 of the flash chip has to be connected (through 
the switch) to
EITHER VCC (for EPIA = 5V) OR GND. If everything was OK, you are ready with the
hardware part.

Reinsert the original flash chip, boot Linux, get the original BIOS file, 
replace
/freebios/util/flash_and_burn/flash_rom.c with this one at
http://www.mikrosol.de/flash_rom.c (it is the SAME sourcecode, but the size 
of the 29F040
is reduced to burn only 256KB), compile it, take the chip out while power is
turned on, insert the soldered AMD chip, write the original bios to the 
flash chip
(if you have an EPROM Programmer, use it, cause it is safer) and mark the 
position of the
switch. Everytime you will switch to this position, you are booting the 
ORIGINAL BIOS.
If you want to burn the other part of the memory, switch to the other side 
(while power
is on and you are at the console) and burn it. Be aware that both parts of 
the memory
are writable, so you have to check the position of the switch BEFORE you 
are flashing.
Flashing at the marked position of the switch is only necessary, if you 
want to replace
the original bios.


That's all! Really helpful I think!

Best regards,

Sven  




More information about the coreboot mailing list