User:MartinRoth: Difference between revisions
Jump to navigation
Jump to search
MartinRoth (talk | contribs) No edit summary |
MartinRoth (talk | contribs) |
||
(23 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Martin Roth== | ==Martin Roth== | ||
: | [[File:Martin.jpg]] | ||
Email: | |||
:gaumless@gmail.com | |||
:martinroth@google.com | |||
IRC: | |||
:martinr (usually) | |||
:gaumless (occasionally) | |||
==Useful commands== | |||
=== See what Kconfig symbols are used in a platform === | |||
make clean; make filelist; for file in $(grep -v 'config\.h' build/project_filelist.txt); do grep CONFIG_ "$file"; done | grep -Ev '[_A-Za-z]CONFIG' | sed 's/.*[-(\)\[\$!"[:space:]]CONFIG_/CONFIG_/'|sed 's/[^A-Z0-9_].*//' | sort | uniq | |||
===Find hex encoded binaries in coreboot=== | |||
git grep -c '0x' | grep src/ | grep -v ':.\?.\?.$' | sort -n -k2 -t ':' | |||
===Find binary files in src tree=== | |||
find src -type f -exec file -i '{}' \; | grep 'charset=binary' | grep -v 'x-empty' | |||
===run checkpatch on files === | |||
DIR=src/lib;for file in $(git ls-files | grep "${DIR}"); do util/lint/checkpatch.pl --file $file --terse; done | |||
==Platforms supported by coreboot== | |||
{| class="wikitable" | |||
! Vendor !! Board !! Processor !! Southbridge !! Memory !! Count !! Blobs !! Used as | |||
|- | |||
| ADI || SG-2220 || Intel Rangeley || - || 2GB DDR3L Soldered Down || 1 || FSP || | |||
|- | |||
| ADI || SG-2440 || Intel Rangeley || - || 4GB DDR3L Soldered Down || 1 || FSP || | |||
|- | |||
| AMD || Bettong (DB-FP4) || || || || 1 || Yes || | |||
|- | |||
| AMD || Kino || AMD Family 10h || || || 1 || || | |||
|- | |||
| AMD || Lamar || || || || 1 || || | |||
|- | |||
| AMD || Mahogony || AMD Family F || AMD SB700 || 4 DDR2 UDIMMs || 1 || || | |||
|- | |||
| AMD || Mahogony || AMD Family 10h || AMD SB700 || 4 DDR2 UDIMMs || 1 || || | |||
|- | |||
| AMD || Olive Hill || || || || 1 || || | |||
|- | |||
| AMD || Parmer || AMD Family 15TN || AMD Hudson || || 2 || || | |||
|- | |||
| AMD || Pistachio || AMD Family F || AMD SB600|| || 1 || || | |||
|- | |||
| AMD || Persimmon [DB-FT1] || AMD Family 14h || AMD SB800 || || 3 || || | |||
|- | |||
| AMD || Pumori || || || || 1 || || | |||
|- | |||
| AMD || Thatcher || AMD Family 15TN || AMD Hudson || || 1 || || | |||
|- | |||
| AMD || Torpedo || AMD Family 12h || AMD SB900 || || 1 || || | |||
|- | |||
| Asrock || E350M1/USB3 || AMD Family 14h || || || 1 || || | |||
|- | |||
| Asrock || IMB-A180 || || || || 2 || || | |||
|- | |||
| ASUS || F2A85-M || AMD Family 15TN || || || 1 || || | |||
|- | |||
| ASUS || KGPE-D16 || AMD Family 10h / 15h || || || 1 || None || Lumberingbuilder | |||
|- | |||
| ASUS || KFSN4-DRE || || || || 1 || || | |||
|- | |||
| ASUS || P5GC-MX || || || 2 DDR2 UDIMMs || 1 || None || | |||
|- | |||
| Gigabyte || GA-B75M-D3H || Intel Ivybridge || || 4 DDR3 UDIMMs || 1 || ME || Happybuilder | |||
|- | |||
| Gigabyte || GA-G41M-ES2L || || || 2 DDR2 UDIMMs || 1 || None || | |||
|- | |||
| Gigabyte || GA-945-GCM-S2L || || || 2 DDR2 UDIMMs || 1 || None || | |||
|- | |||
| Gigabyte || GA-MA78GM || AMD AM2+ socket || AMD SB700 || 4 DDR2 UDIMMs || 1 || || | |||
|- | |||
| Gizmosphere || Gizmo || AMD Family 14h || || Soldered down || 3 || || | |||
|- | |||
| Gizmosphere || Gizmo2 || || || Soldered down || 1 || Yes || | |||
|- | |||
| Intel || Bakersport || Intel Bay Trail I SOC || - || 1 ECC DDR-3 SODIMM || 1 || FSP, ME || | |||
|- | |||
| Intel || Bayley Bay || Intel Bay Trail I SOC || - || 2 DDR-3 SODIMM || 1 || FSP, ME || | |||
|- | |||
| Intel || Camelback Mountain || Broadwell DE SOC || - || 2 DDR-4 UDIMMs || 1 || FSP, ME || | |||
|- | |||
| Intel || Cougar Canyon || Intel Ivybridge || || || 1 || FSP, ME || | |||
|- | |||
| Intel || D510MO || || I82801GB (ICH7) || 2 DDR-2 UDIMMs || 1 || None || | |||
|- | |||
| Intel || Galileo || || || || 2 || None || | |||
|- | |||
| Intel || Galileo Gen 2 || || || || 1 || None || | |||
|- | |||
| Intel/Circuitco || Minnowboard Max || Intel Bay Trail I || || || 1 || FSP, ME || | |||
|- | |||
| Intel/ADI || Minnowboard Turbot || Intel Bay Trail I || || || 1 || FSP, ME || | |||
|- | |||
| Intel || Mohon Peak || Intel Rangeley || || || 1 || FSP || | |||
|- | |||
| Lenovo || T500 || || || || 1 || None || | |||
|- | |||
| Lenovo || W500 || || || || 1 || None || | |||
|- | |||
| Lenovo || T520 || Intel Sandybridge || || || 1 || ME || | |||
|- | |||
| Lenovo || T530 || Intel Ivybridge || || 2 DDR-3 SODIMMS || 1 || ME || | |||
|- | |||
| Lenovo || X230 || Intel Ivybridge || || 2 DDR-3 SODIMMS || 1 || ME || | |||
|- | |||
| Lenovo || W530 || Intel Ivybridge || || 4 DDR-3 SODIMMS || 2 || ME || Grumpybuilder | |||
|- | |||
| PC Engines || APU2C4 || || || || 1 || || | |||
|- | |||
| Supermicro || H8SCM || AMD Family 10h / 15h || AMD SP5100 || 4 DDR3 DIMMs || 1 || || | |||
|} | |||
==Links== | ==Links== | ||
Line 8: | Line 121: | ||
* [http://helppc.netcore2k.net/topics HelpPC - Asm, C, Hardware, Interrupts, Tables for DOS & BIOS] | * [http://helppc.netcore2k.net/topics HelpPC - Asm, C, Hardware, Interrupts, Tables for DOS & BIOS] | ||
* [http://www.ctyme.com/rbrown.htm Ralf Brown's Interrupt List] | * [http://www.ctyme.com/rbrown.htm Ralf Brown's Interrupt List] | ||
====_HID & EisaID==== | |||
* [http://www-pc.uni-regensburg.de/hardware/TECHNIK/PCI_PNP/pnpid.txt EisaId list] | |||
* [http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/devids.txt EisaId list from Microsoft] | |||
* [http://lkml.iu.edu/hypermail/linux/kernel/1504.0/04084.html PRP0001 specifically means "Use the 'compatible' property to find the driver for this device"] | |||
===Payloads=== | ===Payloads=== | ||
Line 15: | Line 132: | ||
==Fedora setup== | ==Fedora setup== | ||
Tested on Fedora 20 & 21 | Tested on Fedora 20 & 21 | ||
sudo yum install git gcc gcc-c++ flex bison ncurses-devel acpica wget patch pciutils-devel | sudo yum install git gcc gcc-c++ flex bison ncurses-devel acpica-tools wget patch pciutils-devel | ||
git clone http://review.coreboot.org/coreboot | git clone http://review.coreboot.org/coreboot | ||
cd coreboot | cd coreboot | ||
Line 23: | Line 140: | ||
Optional installs: | Optional installs: | ||
sudo yum install ccache clang | sudo yum install ccache clang | ||
===Flashing 3MB of 8MB ROM on minnowboard max=== | |||
echo 00500000:007fffff cb-region > 8mb ; flashrom -p dediprog:voltage=1.8v -l 8mb -i cb-region -w build/coreboot.rom | |||
=== Coreboot lessons === | |||
[[Lesson1]] - Starting from scratch. Download coreboot, build it, and test the image on QEMU. |
Latest revision as of 21:51, 23 July 2017
Martin Roth
Email:
- gaumless@gmail.com
- martinroth@google.com
IRC:
- martinr (usually)
- gaumless (occasionally)
Useful commands
See what Kconfig symbols are used in a platform
make clean; make filelist; for file in $(grep -v 'config\.h' build/project_filelist.txt); do grep CONFIG_ "$file"; done | grep -Ev '[_A-Za-z]CONFIG' | sed 's/.*[-(\)\[\$!"[:space:]]CONFIG_/CONFIG_/'|sed 's/[^A-Z0-9_].*//' | sort | uniq
Find hex encoded binaries in coreboot
git grep -c '0x' | grep src/ | grep -v ':.\?.\?.$' | sort -n -k2 -t ':'
Find binary files in src tree
find src -type f -exec file -i '{}' \; | grep 'charset=binary' | grep -v 'x-empty'
run checkpatch on files
DIR=src/lib;for file in $(git ls-files | grep "${DIR}"); do util/lint/checkpatch.pl --file $file --terse; done
Platforms supported by coreboot
Vendor | Board | Processor | Southbridge | Memory | Count | Blobs | Used as |
---|---|---|---|---|---|---|---|
ADI | SG-2220 | Intel Rangeley | - | 2GB DDR3L Soldered Down | 1 | FSP | |
ADI | SG-2440 | Intel Rangeley | - | 4GB DDR3L Soldered Down | 1 | FSP | |
AMD | Bettong (DB-FP4) | 1 | Yes | ||||
AMD | Kino | AMD Family 10h | 1 | ||||
AMD | Lamar | 1 | |||||
AMD | Mahogony | AMD Family F | AMD SB700 | 4 DDR2 UDIMMs | 1 | ||
AMD | Mahogony | AMD Family 10h | AMD SB700 | 4 DDR2 UDIMMs | 1 | ||
AMD | Olive Hill | 1 | |||||
AMD | Parmer | AMD Family 15TN | AMD Hudson | 2 | |||
AMD | Pistachio | AMD Family F | AMD SB600 | 1 | |||
AMD | Persimmon [DB-FT1] | AMD Family 14h | AMD SB800 | 3 | |||
AMD | Pumori | 1 | |||||
AMD | Thatcher | AMD Family 15TN | AMD Hudson | 1 | |||
AMD | Torpedo | AMD Family 12h | AMD SB900 | 1 | |||
Asrock | E350M1/USB3 | AMD Family 14h | 1 | ||||
Asrock | IMB-A180 | 2 | |||||
ASUS | F2A85-M | AMD Family 15TN | 1 | ||||
ASUS | KGPE-D16 | AMD Family 10h / 15h | 1 | None | Lumberingbuilder | ||
ASUS | KFSN4-DRE | 1 | |||||
ASUS | P5GC-MX | 2 DDR2 UDIMMs | 1 | None | |||
Gigabyte | GA-B75M-D3H | Intel Ivybridge | 4 DDR3 UDIMMs | 1 | ME | Happybuilder | |
Gigabyte | GA-G41M-ES2L | 2 DDR2 UDIMMs | 1 | None | |||
Gigabyte | GA-945-GCM-S2L | 2 DDR2 UDIMMs | 1 | None | |||
Gigabyte | GA-MA78GM | AMD AM2+ socket | AMD SB700 | 4 DDR2 UDIMMs | 1 | ||
Gizmosphere | Gizmo | AMD Family 14h | Soldered down | 3 | |||
Gizmosphere | Gizmo2 | Soldered down | 1 | Yes | |||
Intel | Bakersport | Intel Bay Trail I SOC | - | 1 ECC DDR-3 SODIMM | 1 | FSP, ME | |
Intel | Bayley Bay | Intel Bay Trail I SOC | - | 2 DDR-3 SODIMM | 1 | FSP, ME | |
Intel | Camelback Mountain | Broadwell DE SOC | - | 2 DDR-4 UDIMMs | 1 | FSP, ME | |
Intel | Cougar Canyon | Intel Ivybridge | 1 | FSP, ME | |||
Intel | D510MO | I82801GB (ICH7) | 2 DDR-2 UDIMMs | 1 | None | ||
Intel | Galileo | 2 | None | ||||
Intel | Galileo Gen 2 | 1 | None | ||||
Intel/Circuitco | Minnowboard Max | Intel Bay Trail I | 1 | FSP, ME | |||
Intel/ADI | Minnowboard Turbot | Intel Bay Trail I | 1 | FSP, ME | |||
Intel | Mohon Peak | Intel Rangeley | 1 | FSP | |||
Lenovo | T500 | 1 | None | ||||
Lenovo | W500 | 1 | None | ||||
Lenovo | T520 | Intel Sandybridge | 1 | ME | |||
Lenovo | T530 | Intel Ivybridge | 2 DDR-3 SODIMMS | 1 | ME | ||
Lenovo | X230 | Intel Ivybridge | 2 DDR-3 SODIMMS | 1 | ME | ||
Lenovo | W530 | Intel Ivybridge | 4 DDR-3 SODIMMS | 2 | ME | Grumpybuilder | |
PC Engines | APU2C4 | 1 | |||||
Supermicro | H8SCM | AMD Family 10h / 15h | AMD SP5100 | 4 DDR3 DIMMs | 1 |
Links
General Hardware & BIOS
_HID & EisaID
- EisaId list
- EisaId list from Microsoft
- PRP0001 specifically means "Use the 'compatible' property to find the driver for this device"
Payloads
Fedora setup
Tested on Fedora 20 & 21
sudo yum install git gcc gcc-c++ flex bison ncurses-devel acpica-tools wget patch pciutils-devel git clone http://review.coreboot.org/coreboot cd coreboot git submodule update --init --checkout make crossgcc-i386
Optional installs:
sudo yum install ccache clang
Flashing 3MB of 8MB ROM on minnowboard max
echo 00500000:007fffff cb-region > 8mb ; flashrom -p dediprog:voltage=1.8v -l 8mb -i cb-region -w build/coreboot.rom
Coreboot lessons
Lesson1 - Starting from scratch. Download coreboot, build it, and test the image on QEMU.