Firmware images
There are multiple ways of obtaining firmware images:
- read out from one’s own mainboard, e.g. using
flashprog - download from a vendor; however, those are mostly upgrade images, not the same as what would be found on real hardware, usually in a proprietary format
- download from an archive, obtain a full backup image, or similar
Full images
ChromeOS
The coreboot project offers a utility to download full
recovery images for ChromeOS (Chromebooks) including a base system and firmware,
and extract the firmware image:
util/chromeos/crosfirmware.sh
To download all the images and extract the firmware, run:
./crosfirmware.sh all
As of the time of writing this, that will download: https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf
Which looks somewhat like this:
recovery_tool_version=0.9.2
recovery_tool_linux_version=0.9.2
recovery_tool_update=
name=Dell Chromebook 13 (3380)
version=15393.58.0
desc=
channel=STABLE
hwidmatch=^ASUKA .*
hwid=
md5=9e3788b775f0c55f37682a6db6add00a
sha1=b54a3762e22d08dc3b67846e3ab16bd7333e519d
zipfilesize=1275561266
file=chromeos_15393.58.0_asuka_recovery_stable-channel_mp-v2.bin
filesize=2330960384
url=https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_15393.58.0_asuka_recovery_stable-channel_mp-v2.bin.zip
and so on. Each entry is about 12 lines. How much is in there?
wc recovery.conf
9186 11369 297858 recovery.conf
More than 650 images?! … no, there are lots of duplicates. But not exactly. Some recovery images contain firmware for multiple devices!
grep url= recovery.conf | uniq | wc
76 76 9310
A good bunch of downloads would fail, though. I reduced the script to fewer entries. Note that Chromebooks may be based on any platform, not only Intel.
How many images that you downloaded are for Intel?
for f in coreboot*.bin; intel_fw me scan $f; end 2>&1 | grep 'No ME' | wc
19 133 1235
The remaining images can now be used to test intel_fw.
Win-Raid Forum
Many samples can be found via this forum post: https://winraid.level1techs.com/t/intel-cs-me-cs-txe-cs-sps-gsc-pmc-pchc-phy-orom-firmware-repositories/30869