# Pawn

> Linux command-line tool from Google that reads the BIOS/UEFI firmware image out of the SPI flash of Intel-based workstations and laptops. Running as root, it identifies the chipset's LPC bridge over PCI, maps the chipset's root-complex registers through /dev/mem, and reports the flash descriptor regions and the BIOS write- and read-protection settings it finds. It then reads the flash through the SPI controller's hardware sequencing into a single image file, which the README suggests processing further with tools such as UEFITool.

- Type: Tool
- Targets: Firmware
- Category: Firmware tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-20
- Added to the catalog: 2026-11-02
- Original resource: <https://github.com/google/pawn>
- Primary source: <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/README.md>
- Catalog page: <https://awesomerea.org/resources/google-pawn/>
- Record JSON: <https://awesomerea.org/resources/google-pawn/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/google-pawn/index.md)

## Requirements & limits

- Releases v0.1 and v0.2, published 2017-08-30 and 2017-09-09, each ship a Debian amd64 package with its source; the reviewed main commit, from 2026-02-17, updates dependencies and GitHub Actions and still declares version 0.2. The README states that Pawn is not an official Google product. Builds need Linux on x86_64 (FreeBSD might also work, per the README), CMake 3.31+, GCC or Clang 7+ and Ninja or Make; CMake fetches Abseil, and GoogleTest for tests, at pinned commits. CI builds and runs the unit test on Ubuntu 24.04 and keeps the binary only as a workflow artifact.
- Runs as root on the machine whose firmware is read, using I/O-port access to PCI configuration space and /dev/mem. On Linux kernels newer than 4.8.4 the README requires CONFIG_IO_DEVMEM=n or booting with iomem=relaxed; the program's own error message names IO_STRICT_DEVMEM. Only Intel ICH8, ICH9 and ICH10 and 6 to 9 Series chipsets are recognized, the newest being the 9 Series whose datasheet the source cites from May 2014; the BIOS must boot from SPI flash in descriptor mode.
- It always reads 16 MiB from flash address 0, so flash beyond that size is not dumped, and failed block reads are ignored; the default output name is bios_via_spi_hs.bin. The repository contains only source, build and Debian packaging files, with no firmware images; a dump is the machine vendor's firmware and keeps the vendor's rights.
- Apache-2.0.

## Primary sources

1. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/README.md>
2. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/pawn/pawn.cc>
3. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/pawn/chipset.cc>
4. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/pawn/chipset_intel_9_series.h>
5. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/CMakeLists.txt>
6. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/cmake/PawnDeps.cmake>
7. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/.github/workflows/ubuntu-cmake.yml>
8. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/debian/changelog>
9. <https://github.com/google/pawn/blob/45b7b3865c3d4f2aa6e0defebb477dacb8b8a3b9/LICENSE>
10. <https://github.com/google/pawn/releases/tag/v0.2>

## More in Firmware and hardware

- [EMBArk](https://awesomerea.org/resources/embark/index.md) · Tool
- [IDAPython Embedded Toolkit](https://awesomerea.org/resources/idapython-embedded-toolkit/index.md) · Tool
- [fiano](https://awesomerea.org/resources/fiano/index.md) · Tool
- [Pyrrha](https://awesomerea.org/resources/pyrrha/index.md) · Tool
- [RETracker](https://awesomerea.org/resources/retracker/index.md) · Tool
- [Titan M tools (Quarkslab)](https://awesomerea.org/resources/quarkslab-titanm-tools/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
