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