User:MartinRoth: Difference between revisions

From coreboot
Jump to navigation Jump to search
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Martin Roth==
==Martin Roth==


[[File:Martin.jpg]]
Email:
:gaumless@gmail.com
: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'


==Platforms==
===run checkpatch on files ===
===Supported by coreboot===
DIR=src/lib;for file in $(git ls-files | grep "${DIR}"); do util/lint/checkpatch.pl --file $file --terse; done
* Intel Minnowboard Max
* Intel/ADI Minnowboard Turbot
* Intel D510MO
* Gizmosphere Gizmo
* Gizmosphere Gizmo2
* Asrock E350M1/USB3
* AMD persimmon x3
* AMD thatcher
* AMD Olive Hill
* ASUS F2A8-5M
* Gigabyte GA-B75M-D3H
* Gigabyte GA-G41M-ES2L
* Lenovo W530
* Lenovo W500
* Various chromebooks


===Ordered===
==Platforms supported by coreboot==
* Asus KGPE-D16
{| class="wikitable"
* Intel Galileo Gen 2
! 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==

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

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.