From coreboot
Revision as of 08:12, 6 December 2014 by Eocallaghan (talk | contribs) (Known Issues)
Jump to: navigation, search

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to Contributions welcome!

This page describes how to use coreboot on the Lenovo G505S mainboard.

This page is a work in progress. ACPI is still being worked on, however due to the nature of ACPI it may take some time to get this right.

Known Issues

  • S3 Suspend/Resume - You will need a Console verbosity set to at least "BIOS_INFO" or greater for it to work! Coreboot is likely too fast for the Embedded Controller firmware on the S3 resume hot path.
  • "AGP: Please enable the IOMMU option in the BIOS setup" showing up in dmesg - Pass iommu=noaperture to the kernel boot args to ask the IOMMU not to touch the aperture for AGP.
  • "Re-enabling disabled Topology Extensions Support" showing up in dmesg - See Note 1.

Note 1: Look in src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMsrTables.c for

 if (PkgType == PACKAGE_TYPE_FM2) {
    CpuMsrData |= BIT54;

this is the wrong package type for us.



  • AMD A-series AMD A10-5750M APU
  • AMD AGESA Hudson part of the chipset, AMD AGESA Hudson southbridge
  • ENE KB9012 EC However we use the ENE932 EC driver in coreboot's tree.



  • 1x MXIC MX25L1606E (SO8, soldered) 16 Mbit SPI flash (BIOS)

Building a coreboot image

Make a fresh clone of Coreboot into a empty directory and run:

make crossgcc-i386

Make a cup of tea.. Then run:

make menuconfig

and select Lenovo/G505S under "Mainboard -> Mainboard vendor/model" leaving everything else as defaults. Then finally do,


To flash the board with flashrom externally run:

flashrom -p ft2232_spi:type=2232H,port=A -w build/coreboot.rom

and internally run:

flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom


Device/functionality Status Comments
CPU works OK
L1 cache enabled OK Always on
L2 cache enabled OK Always on
L3 cache enabled N/A
Multiple CPU support N/A
Multi-core support N/A
Hardware virtualization OK
Dual channel support N/A
ECC support N/A
On-board Hardware
On-board IDE 3.5" N/A
On-board IDE 2.5" N/A
On-board SATA OK
On-board SCSI N/A
On-board USB OK XHCI requires blob (so disabled by default)
On-board VGA OK 64KByte AtomBIOS blob needed
On-board Ethernet OK Qualcomm Atheros QCA8172 Fast Ethernet
On-board Audio OK Basic two channel audio works fine.
On-board Modem N/A
On-board FireWire N/A
On-board Smartcard reader N/A
On-board CompactFlash N/A
On-board PCMCIA N/A
On-board Wifi N/A
On-board Bluetooth N/A
On-board SD card reader N/A
Add-on slots/cards
ISA add-on cards N/A
Audio/Modem-Riser (AMR/CNR) cards N/A
PCI add-on cards N/A
Mini-PCI add-on cards N/A
Mini-PCI-Express add-on cards Unknown
PCI-X add-on cards N/A
AGP graphics cards N/A
PCI Express x1 add-on cards OK miniPCIe (populated with Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter)
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 N/A
PCI Express x32 add-on cards N/A
HTX add-on cards N/A
Legacy / Super I/O
Floppy N/A
Serial port 1 (COM1) N/A
Serial port 2 (COM2) N/A
Parallel port N/A
PS/2 keyboard OK
PS/2 mouse OK
Game port N/A
PC speaker OK
DiskOnChip N/A
Trackpoint N/A
Touchpad N/A
Fn Hotkeys N/A
Fingerprint Reader N/A
Docking VGA N/A
Docking LAN N/A
Docking USB N/A
Docking Audio N/A
Docking Displayport N/A
Thinklight N/A
Webcam N/A
Sensors / fan control OK
Hardware watchdog Pending What needs to be done here??
CAN bus N/A
CPU frequency scaling OK
Other powersaving features N/A
ACPI WIP Mostly working, needs a good Review!
Reboot OK
Poweroff OK
Suspend OK
Nonstandard LEDs N/A
High precision event timers (HPET) OK
Random number generator (RNG) OK
Wake on modem ring N/A
Wake on LAN Untested
Wake on keyboard OK
Wake on mouse Untested
TPM Unknown
Flashrom OK MXIC MX25L1606E (SO8, soldered) 4MB SPI Flash

Coreboot boot log

See [1] for a recent log.

Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.