Skip to content

amd-zenith/zenscraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZenScraper

Build CodeQL PyPI version Python versions Snyk package health OpenSSF Scorecard

A command line tool to collect AMD uCode!

Overview

ZenScraper gathers AMD CPU microcode (uCode) patches from public upstream repositories, extracts the individual patches from their containers, and stores them under a single directory with a consistent, content-addressed naming scheme. Patches that already exist are de-duplicated by SHA-256, and a hash mismatch on a same-named patch is reported as an error.

Currently supported sources:

  • Linux Firmware — the linux-firmware repository (amd-ucode containers, extracted into individual patches).
  • Platomav CPUMicrocodes — the platomav/CPUMicrocodes repository (AMD patches).

Each source is walked across its full git history, so superseded patches are collected as well as current ones.

Installation

pip install zenscraper

Usage

Run the tool to scrape every supported source into the current directory:

zenscraper

Options:

Option Default Description
--workdir, -w ./workdir Directory for temporary and cached files (the cloned repos are kept here between runs).
--outdir, -o . (current directory) Directory where the collected patches are stored.

Output

Collected patches are written to a patches/ subdirectory of --outdir. Each file is named after its parsed header fields and a short content hash, for example:

family19_cpuidA20F12_rev0A201210_date20240611_enc00_sha1a2b3c4d5e6f.bin

The fields encode the CPU family, CPU ID, update revision, build date, encryption flag (when present) and the first 12 hex digits of the patch's SHA-256 hash.

About

A tool to collect AMD uCode

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages