During Christmas break I found an old unused motherboard in my home, right away
I thought that it maybe useful as learning environment for coreboot. First you
need to do with this kind of board is to check if it is possible to flash its
BIOS with user space tool called flashrom List of
supported hardware can be found here.
All you need to do is go through this
HOWTO. Be aware that these
operations can cause you will not be able to run your motherboard if something
goes wrong. Therefore, I suggest protect yourself by supplying checked
programmer or other memory chip for your board containing a working BIOS.
For my Shuttle board I
checked if the Winbond W49F002U chip on it is supported by flashrom.
Fortunately it was. After that I read my BIOS by:
flashrom -Vr bios_bckp.bin
And write it by:
flashrom -Vw bios_bckp.bin
At the end I’ve got VERIFIED message but when I look carefully inside the log
there was something like this:
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x01ffff:S, 0x020000-0x037fff:S,
0x038000-0x039fff:S, 0x03a000-0x03bfff:S, 0x03c000-0x03ffff:S Erase/write done. Verifying flash... VERIFIED.
This means that these addresses have not been overwritten but skipped, becuse
the fact that the data which were to be overridden were identical with what we
wanted to write. So if we found such output to properly verify flashrom we need
to clear our memory and write it again with BIOS backup. Correct output should
look like this:
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x01ffff:W, 0x020000-0x037fff:W,
0x038000-0x039fff:W, 0x03a000-0x03bfff:W, 0x03c000-0x03ffff:W Erase/write done. Verifying flash... VERIFIED.
Next post I will try to familiarize you with the process of debugging coreboot using QEMU.