Skip to content

therealdreg/flashrom-dregmod

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flashrom README

Dreg's fork windows build: - https://github.com/therealdreg/flashrom_build_windows_x64


flashrom is a utility for detecting, reading, writing, verifying and erasing flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images in-system using a supported mainboard, but it also supports flashing of network cards (NICs), SATA controller cards, and other external devices which can program flash chips.

It supports a wide range of flash chips (most commonly found in SOIC8, DIP8, SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various protocols such as LPC, FWH, parallel flash, or SPI.

Do not use flashrom on laptops (yet)! The embedded controller (EC) present in many laptops might interact badly with any attempts to communicate with the flash chip and may brick your laptop.

Please make a backup of your flash chip before writing to it.

Please see the flashrom(8) manpage classic_cli_manpage.

# Building / installing / packaging ---------------------------------

flashrom supports building with make and meson.

TLDR, building with meson

## Installing dependencies

  • Linux
    • Debian / Ubuntu `bash apt-get install -y \ gcc meson ninja-build pkg-config python3-sphinx \ libcmocka-dev libpci-dev libusb-1.0-0-dev libftdi1-dev libjaylink-dev`
    • ArchLinux / Manjaro `bash pacman -S --noconfirm \ gcc meson ninja pkg-config python-sphinx cmocka \ pciutils libusb libftdi libjaylink`
    • openSUSE / SUSE `bash zypper install -y \ gcc meson ninja pkg-config python3-Sphinx \ libcmocka-devel pciutils-devel libusb-1_0-devel libftdi1-devel libjaylink-devel`
    • NixOS / nixpkgs `bash nix-shell -p \ gcc meson ninja pkg-config sphinx \ cmocka pciutils libusb1 libftdi1 libjaylink`
    • Alpine Linux `bash apk add \ build-base meson ninja pkgconf py3-sphinx \ cmocka-dev pciutils-dev libusb-dev libjaylink-dev`
  • MacOS
    • Homebrew
      • libpci is not available through the package manager
      • libjaylink is not available through the package manager
      • `bash brew install \ meson ninja pkg-config sphinx-doc \ libusb libftdi`
  • BSD
    • FreeBSD / DragonFlyBSD
      • libusb1 is part of the system
      • libjaylink is not available through the package manager
      • `bash pkg install \ meson ninja pkgconf py39-sphinx \ cmocka libpci libftdi1`
    • OpenBSD
      • libjaylink is not available through the package manager
      • `bash pkg_add \ meson ninja pkg-config py39-sphinx\ cmocka pciutils libusb1 libftdi1`
    • NetBSD
  • OpenIndiana (Illumos, Solaris, SunOS)
    • libpci missing, pciutils is build without it
    • libftdi1 & libjaylink are not available through the package manager
    • TODO: replace build-essential with the default compiler
    • `bash pkg install build-essential meson ninja cmocka libusb-1`
  • DJGPP-DOS
    • Get [DJGPP](https://www.delorie.com/djgpp/)
    • Download the [pciutils](https://mj.ucw.cz/sw/pciutils/) sources
    • Run the following commands in the the pciutils directory to build libpci for DOS. Replace <DOS_INSTALL_ROOT> with your cross-compile install root. `bash make install-lib \ ZLIB=no \ DNS=no \ HOST=i386-djgpp-djgpp \ CROSS_COMPILE=i586-pc-msdosdjgpp- \ STRIP="--strip-program=i586-pc-msdosdjgpp-strip -s" \ PREFIX=<DOS_INSTALL_ROOT>`
    • Point pkg-config to the <DOS_INSTALL_ROOT> `bash export PKG_CONFIG_SYSROOT=<DOS_INSTALL_ROOT>`
    • To compile flashrom use the meson_cross/i586_djgpp_dos.txt cross-file
    • You will need [CWSDPMI.EXE](https://sandmann.dotster.com/cwsdpmi/) to run flashrom

:

meson setup builddir
meson compile -C builddir
meson test -C builddir
meson install -C builddir

For full detailed instructions, follow the information in dev_guide/building_from_source

TLDR, building with make

make
make install

For full detailed instructions, follow the information in dev_guide/building_with_make

# Contact -------

The official flashrom website is:

https://www.flashrom.org/

For available contact methods see contact

# Related -------- https://github.com/therealdreg/flashrom_build_windows_x64 - https://github.com/therealdreg/asprogrammer-dregmod - https://github.com/therealdreg/buzzpirat

Packages

No packages published

Languages

  • C 90.4%
  • Rust 4.9%
  • Shell 2.0%
  • Makefile 1.5%
  • Meson 1.2%
  • Dockerfile 0.0%