The sysutils/flashrom port

flashrom-1.2p1 – flash ROM programmer for BIOS etc (cvsweb github mirror)


flashrom is a utility for identifying, reading, writing, verifying
and erasing flash chips. It is designed to flash BIOS, EFI, coreboot,
firmware and optionROM images on mainboards, network/graphics/storage
controller cards, and various programmer devices.

* Supports more than 225 flash chips, 128 chipsets, 186 mainboards, 19 PCI
devices, 3 USB devices and all external programmers using the serprog protocol.
* Supports parallel, LPC, FWH and SPI flash interfaces and various chip
packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, and more)
* No physical access needed, root and /dev/mem access is sufficient.
* No bootable floppy disk, bootable CD-ROM or other media needed.
* No keyboard or monitor needed. Simply reflash remotely via SSH.
* No instant reboot needed. Reflash your chip in a running system,
verify it, be happy. The new firmware will be present next time you boot.
* Crossflashing and hotflashing is possible as long as the flash chips are
electrically and logically compatible (same protocol). Great for recovery.
* Scriptability. Reflash a whole pool of identical machines at the
same time from the command line. It is recommended to check flashrom
output and error codes.
* Speed. flashrom is often much faster than most vendor flash tools.
WWW: https://www.flashrom.org/


| Running ${PKGSTEM} on OpenBSD

Programming on-board devices
One common use of flashrom is to programme an on-board flash device
(e.g. for updating devices on the mainboard or a PCI device attached to
the machine you're running it on).

This requires the ability to write directly to memory, which is
INSECURE. Therefore, OpenBSD denies it under normal operating

If you have decided to accept the risks of using this software, it is
advised to reboot into *single user mode* ("boot -s"), mount necessary
filesystems (mount -a -t nonfs), "ldconfig -m /usr/local/lib", flash
and reboot.

In single user mode, the system securelevel(8) does allow access to
write directly to system memory and, importantly, network services and
other third-party software will usually not be running at the time.

flashrom also supports some external programming devices via USB; in
those cases it can be run from a normal boot.

Special notes for PC Engines APU
One common use of flashrom on OpenBSD is to update coreboot on PC Engines
APU devices.

New firmware and release notes are available at https://pcengines.github.io/

In some cases extra flags are needed to bypass warnings; see this URL
for further information:


The setpci command mentioned in that page, if needed, is in the
pciutils package.


Stuart Henderson



Library dependencies

Build dependencies