Difference between revisions of "Board:asus/m4a78-em"

From coreboot
Jump to navigation Jump to search
m (FILO tested)
m (Phcoder moved page ASUS M4A78-EM to Board:asus/m4a78-em)
 
(3 intermediate revisions by one other user not shown)
Line 29: Line 29:
|RAM_ecc_comments =  
|RAM_ecc_comments =  


|IDE_status = Ok
|IDE_status = OK
|IDE_comments = Tested: CD/DVD-RW  
|IDE_comments = Tested: CD/DVD-RW  
|IDE_25_status = N/A
|IDE_25_status = N/A
|IDE_CF_status = Untested  
|IDE_CF_status = Untested  
|IDE_CF_comments =  
|IDE_CF_comments =  
|CDROM_DVD_status = Ok
|CDROM_DVD_status = OK
|CDROM_DVD_comments =  
|CDROM_DVD_comments =  
|SATA_status = OK
|SATA_status = OK
|SATA_comments = Tested: SATA port 1.
|SATA_comments = Tested: SATA port 1.
|USB_status = Untested
|SCSI_status = N/A
|USB_comments =  
|USB_status = OK
|USB_comments = Mouse attached crashes SeaBIOS
|Onboard_VGA_status = OK
|Onboard_VGA_status = OK
|Onboard_VGA_comments = Tested: DVI. Untested: HDMI, analog VGA.
|Onboard_VGA_comments = Tested: DVI and analog VGA. Untested: HDMI.
|Onboard_ethernet_status = OK
|Onboard_ethernet_status = OK
|Onboard_audio_status = Untested
|Onboard_audio_status = Untested
Line 53: Line 54:
|ISA_cards_status = N/A
|ISA_cards_status = N/A
|AMR_cards_status = N/A
|AMR_cards_status = N/A
|PCI_cards_status = Untested
|PCI_cards_status = Unknown
|PCI_cards_comments = -
|PCI_cards_comments = Recognized, but operation unstable
|Mini_PCI_cards_status = N/A
|Mini_PCI_cards_status = N/A
|PCIX_cards_status = N/A
|PCIX_cards_status = N/A
Line 84: Line 85:
|DiskOnChip_status = N/A
|DiskOnChip_status = N/A


|Sensors_status = Untested
|Sensors_status = OK
|Sensors_comments =  
|Sensors_comments = Single temperature reported.
|Watchdog_status = Untested
|Watchdog_status = Untested
|CAN_bus_status = N/A
|CAN_bus_status = N/A
|CPUfreq_status = Untested
|CPUfreq_status = OK
|CPUfreq_comments =  
|CPUfreq_comments = Powernow-K8 works.
|Powersave_status = Untested
|Powersave_status = Untested
|ACPI_status = Untested
|ACPI_status = Untested
Line 95: Line 96:
|Reboot_status = No
|Reboot_status = No
|Poweroff_status = No
|Poweroff_status = No
|LEDs_status =  
|LEDs_status = N/A
|LEDs_comments =  
|LEDs_comments =  
|HPET_status =  
|HPET_status = No
|HPET_comments =  
|HPET_comments = Linux detects, but disables HPET.
|RNG_status = Untested
|RNG_status = Untested
|WakeOnModem_status = Untested
|WakeOnModem_status = Untested
Line 119: Line 120:
* One of the six SATA ports is eSATA.
* One of the six SATA ports is eSATA.


Configuring and building Coreboot for the M4A785-M seemed to work quite well. (Tested on Coreboot SVN revision 6128.)
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.
 
Invoke menuconfig.
 
* 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.
 
 
==ROM Chip==


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.
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.


== Known issues ==
== Known issues ==


* Only FreeDOS has been successfully booted.
* 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.


=== RAM ===
=== RAM ===


* 1 GB RAM (1 x Kingston KVR800D2N5/1G) - Boots
* 1 GB RAM (1 x Kingston KVR800D2N5/1G) - Boots


== [[Payloads]] ==
== [[Payloads]] ==


* [[SeaBIOS]] version 0.6.1 works  
* [[SeaBIOS]] version 0.6.1 works
** SeaBIOS loads Grub2 bootloader from SATA disk, but then Grub2 crashes and shuts down power.
** Can boot Debian Linux from SATA drive via Grub2.
** SeaBIOS recognizes IDE CDROM and can boot from it:
*** Debian "Squeeze" install CD results in freeze and blank screen
*** FreeDOS LiveCD boots ok.
* [[Coreinfo]] works.
* [[Coreinfo]] works.
** Both as standalone payload or loaded from SeaBIOS
** Both as standalone payload or loaded from SeaBIOS
** Both serial port and VGA+PS2 keyboard work.
** Both serial port and VGA+PS2 keyboard work.
* [[FILO]] works ok.
* [[FILO]] works ok.
** Booting Linux from SATA still fails with "Decompressing Linux ... Out of memory while allocating output buffer."

Latest revision as of 23:21, 18 January 2014

This HOWTO explains how to use coreboot on the ASUS M4A78-EM board.

Status

Device/functionality Status Comments
CPU
CPU works OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Tested: AMD Sempron 140.
L1 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK -
L2 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK -
L3 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Multiple CPU support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Multi-core support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Hardware virtualization OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested -
RAM
EDO OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
SDRAM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
SO-DIMM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A N/A
DDR2 OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK 1G tested
DDR3 OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Dual channel support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
ECC support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
On-board Hardware
On-board IDE 3.5" OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Tested: CD/DVD-RW
On-board IDE 2.5" OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SATA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Tested: SATA port 1.
On-board SCSI OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
On-board USB OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Mouse attached crashes SeaBIOS
On-board VGA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Tested: DVI and analog VGA. Untested: HDMI.
On-board Ethernet OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
On-board Audio OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested -
On-board Modem OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board FireWire OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Smartcard reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board CompactFlash OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board PCMCIA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Wifi OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Bluetooth OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SD card reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Add-on slots/cards
ISA add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Audio/Modem-Riser (AMR/CNR) cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown Recognized, but operation unstable
Mini-PCI add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Mini-PCI-Express add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
PCI-X add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
AGP graphics cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x1 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
PCI Express x2 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x4 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x8 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x16 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
PCI Express x32 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
HTX add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Legacy / Super I/O
Floppy OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A There is no floppy connector at all.
Serial port 1 (COM1) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK COM1 is only pin header on board. DB-9 serial connector is available, but not included with board.
Serial port 2 (COM2) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Parallel port OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested No connector, pin header on board only.
PS/2 keyboard OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
PS/2 mouse OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Game port OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Infrared OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PC speaker OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
DiskOnChip OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Input
Trackpoint OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Touchpad OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Fn Hotkeys OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Fingerprint Reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Laptop
Docking VGA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking LAN OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking USB OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking Audio OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking Displayport OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Thinklight OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Webcam OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Miscellaneous
Sensors / fan control OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Single temperature reported.
Hardware watchdog OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
SMBus OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
CAN bus OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
CPU frequency scaling OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Powernow-K8 works.
Other powersaving features OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
ACPI OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested -
Reboot OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No
Poweroff OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No
Suspend OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
Nonstandard LEDs OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
High precision event timers (HPET) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No Linux detects, but disables HPET.
Random number generator (RNG) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Wake on modem ring OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Wake on LAN OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" |
Wake on keyboard OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Wake on mouse OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
TPM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
Flashrom OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK

Building coreboot

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.

Invoke menuconfig.

  • 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.


ROM Chip

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.

Known issues

  • 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.

RAM

  • 1 GB RAM (1 x Kingston KVR800D2N5/1G) - Boots

Payloads

  • SeaBIOS version 0.6.1 works
    • Can boot Debian Linux from SATA drive via Grub2.
  • Coreinfo works.
    • Both as standalone payload or loaded from SeaBIOS
    • Both serial port and VGA+PS2 keyboard work.
  • FILO works ok.