# PCILeech Firmware Generator

PCILeech Firmware Generator extracts a real PCIe device's configuration over VFIO from donor hardware and uses it to generate unique PCILeech FPGA DMA firmware through a 3-stage host-container-host build pipeline.

PCILeech Firmware Generator builds PCIe DMA firmware from a real donor device rather than from placeholder values, so the resulting firmware is unique to that donor card. A three-stage pipeline collects the donor's PCIe configuration over VFIO on the host, generates firmware artifacts from that collected data in a container with no VFIO access, and optionally runs Vivado synthesis back on the host.

Features include an overlay-only architecture that integrates generated configuration files with the upstream pcileech-fpga HDL modules, dynamic generation of realistic network, storage, media and USB controller capabilities, a full 4KB configuration-space shadow with BRAM-based overlay memory, exact replication of a donor's MSI-X interrupt tables, and an interactive Textual-based terminal UI for guided workflows and device monitoring. It requires real donor hardware, deliberately avoids placeholder device identifiers, and runs on Ubuntu 22.04 or later, or Debian 12 or later, inside a Python virtual environment with a Podman-based containerized build.

Website: https://pcileechfwgenerator.voltcyclone.info
