This HOWTO explains how to use coreboot on the ASUS M4A78-EM board.
|CPU works||OK||Tested: AMD Sempron 140.|
|L1 cache enabled||OK||-|
|L2 cache enabled||OK||-|
|L3 cache enabled||N/A|
|Multiple CPU support||N/A|
|Dual channel support||Untested|
|On-board IDE 3.5"||OK||Tested: CD/DVD-RW|
|On-board IDE 2.5"||N/A|
|On-board SATA||OK||Tested: SATA port 1.|
|On-board USB||OK||Mouse attached crashes SeaBIOS|
|On-board VGA||OK||Tested: DVI and analog VGA. Untested: HDMI.|
|On-board smartcard reader||N/A|
|ISA add-on cards||N/A|
|Audio/Modem-Riser (AMR/CNR) cards||N/A|
|PCI add-on cards||Unknown||Recognized, but operation unstable|
|Mini-PCI add-on cards||N/A|
|PCI-X add-on cards||N/A|
|AGP graphics cards||N/A|
|PCI Express x1 add-on cards||Untested|
|PCI Express x2 add-on cards||N/A|
|PCI Express x4 add-on cards||N/A|
|PCI Express x8 add-on cards||N/A|
|PCI Express x16 add-on cards||Untested|
|PCI Express x32 add-on cards||N/A|
|HTX add-on cards||N/A|
|Legacy / Super I/O|
|Floppy||N/A||There is no floppy connector at all.|
|Serial port 1 (COM1)||OK||COM1 is only pin header on board. DB-9 serial connector is available, but not included with board.|
|Serial port 2 (COM2)||N/A|
|Parallel port||Untested||No connector, pin header on board only.|
|Sensors / fan control||OK||Single temperature reported.|
|CPU frequency scaling||OK||Powernow-K8 works.|
|Other powersaving features||Untested|
|High precision event timers (HPET)||No||Linux detects, but disables HPET.|
|Random number generator (RNG)||Untested|
|Wake on modem ring||Untested|
|Wake on LAN|
|Wake on keyboard||Untested|
|Wake on mouse||Untested|
See the Build HOWTO for general information on how to build coreboot.
This board is very similar to ASUS M4A785-M. The major differences are
- Chipset is AMD 780G and SB700 (instead of 785G and SB710).
- On-board VGA is ATI Radeon HD3200 (instead of HD4200), PCI id 1002:9610 (instead of 1002:9710), and
- One of the six SATA ports is eSATA.
There is now (tested on revision 6151) support for M4A78-EM in Coreboot.
Get the Coreboot sources and build tools. Download or build a SeaBIOS binary.
VGA BIOS for the onboard ATI Radeon can be extracted from the original BIOS with the bios_extract utility.
- Select Mainboard to be Asus M4A78-EM, ROM chip size 1 MB.
- From "Console options" select "Use onboard VGA as primary video device" if you use the onboard ATI Radeon.
- Add the extracted VGA BIOS, set PCI ids to 1002,9610.
- Add SeaBIOS payload.
Compile with make and flash.
Up-to-date Flashrom should be able to detect, read, and write the BIOS ROM. The chip is 8 Mbit cFeon EN25F80. It is in DIP-8 package and installed in a socket, so it can be changed without soldering. The ROM is accessed via the SPI protocol. I also tested a Macronix MX25L8005 chip as a substitute, and it worked fine.
- Disable configuration option "Chipset" -> "Run non-VGA option ROMs" if there are PCI cards with BIOS. PCI card BIOS may need (Sea)BIOS services to run, and crash if invoked from Coreboot directly.
- Boot succeeds with Intel e100 network card or Tekram TR-822 SATA card, and Linux loads card drivers, but operation was not confirmed. Network card did not manage to transfer data, although link was established. SATA card was tested only for booting. SeaBIOS recognized the controller and drive, but GRUB failed to load completely.
- 1 GB RAM (1 x Kingston KVR800D2N5/1G) - Boots