./sysutils/flashrom, Universal (coreboot/LinuxBIOS) flash utility

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.2, Package name: flashrom-1.2, Maintainer: jakllsch

Flashrom is a utility which can be used to detect, read, and write BIOS chips.


Required to run:
[sysutils/dmidecode] [devel/libftdi1]

Required to build:
[sysutils/pciutils] [pkgtools/cwrappers]

Master sites:

SHA1: 4e863c865a8204639add9532b4c8913db46a6501
RMD160: 6b6f4850eee46523c4571dc0a1a91db9af35410e
Filesize: 358.394 KB

Version history: (Expand)


CVS history: (Expand)


   2020-02-20 15:50:07 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
flashrom: Update to 1.2

This release was rushed a bit so that we have a release that includes
numerous build fixes that have been merged since v1.1. Fedora's build
system started to encounter compilation issues that needed to be
addressed for their upcoming release, so that became our canary in the
coal mine this time around.

Other highlights:
- Meson support (hello fwupd!)
- Layout improvements/fixes and many, many code cleanups.
- New chips: MX25U25635F, MX25L51245G, GD25Q256D, M95M02-A125,
N25Q/MT25Q variants, W25Q128JW_DTR, AT25SF321, S25FL512S
- New programmers: National Instruments USB-845x, Tin Can Tools
Flyswatter/Flyswatter 2, STLINK V3, more Intel PCHs (Apollo Lake,
Cannon Lake variants, Ice Lake U)
- Reduced dependency on libusb0
- Syntax: Added --flash-name and --flash-size arguments to print
information about the flash chip

Please report issues, and as always thanks to all who have contributed.
   2019-11-04 22:28:59 by Roland Illig | Files touched by this commit (174)
Log message:
sysutils: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

Manually excluded consolekit and dc-tools since pkglint didn't get the
formatting correct.
   2019-07-11 19:04:04 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
flashrom: Update to 1.1

New major user-visible features

    4-byte address support for many SPI programmers
    New option to use a reference file for flash contents (--flash-contents)
    Layout support for coreboot's FMAP format (--fmap, --fmap-file)
    BAUD rate selection for Buspirate SPI
    Support for the ENE Embedded Debug Interface (EDI), probably our first \ 
non-jedec SPI target
    On Intel ME enabled systems, internal flashing is allowed by default

New programmers

    ENE Embedded Debug Interface EDI
    Linux' MTD interface
    Digilent SPI for the iCEblink40 development board
    Developerbox/CP2104 bit banging
    J-Link SPI
    Dediprog firmwares >= 7.2.30
    Dediprog SF200
    Intel Kabylake PCHs

New chips

    AT25DF021A
    AT25SF041
    AT25SF081
    AT25SF161
    AT25SL128A
    KB9012 (EDI)
    GD25B128B
    IS25LP064
    IS25LP128
    IS25LP256
    IS25WP032
    IS25WP064
    IS25WP128
    IS25WP256
    MX25L6473F
    MX25L25635F
    MX66L51235F
    MX25U8032E
    MX25U51245G
    MX25R6435F
    N25Q256..3E/MT25QL256
    N25Q512..3E/MT25QL512
    LE25FU106B
    LE25FU206
    LE25FU206A
    S25FL256S......0
    SST26VF016B
    SST26VF032B
    SST26VF064B
    W25Q128.V..M
    W25Q256.V
    W25Q256JV_M
    W25Q40BW
    W25Q80BW
    W25Q40EW
    W25Q80EW
    W25P80
    W25P16
    W25P32
    ZD25D20
    ZD25D40
   2019-06-05 09:52:59 by Nia Alarie | Files touched by this commit (4) | Package updated
Log message:
flashrom: Update to 1.0.1

Tested by flashing and reading an internal Winbond ROM on NetBSD-current.

# flashrom/1.0.1

    6b9e934f linux_spi: Reduce maximum read chunksize
    Improves compatibility with older Linux kernels that interpreted the \ 
interface differently.
    30c4cecd Makefile: Disable `-Werror=deprecated-declarations` on release branch
    Just to be able to compile the 1.0.x branch on newer systems.
    5639af64 linux_spi: Hardcode default spispeed of 2MHz
    Default speed of kernel drivers isn't always sane (any more).
    993e162d dediprog: Fix small, unaligned reads
    An actual bug, discovered during experiments with arbitrary layouts.
    ec8b8a7f board_enable.c: Fix dmi_match string for ThinkPad X201
    Probably just wasn't tested before.
    69f96f60 Fix verification with sparse layouts
    A regression that sneaked into flashrom-1.0: When verifying the whole flash \ 
after a partial write with a sparse layout (i.e. a layout whose regions don't \ 
cover the whole chip), flashrom tried to verify against the wrong data and \ 
failed.
    a3db7ed5 Fix erasing of unaligned regions
    This never worked correctly from the beginning. We completely erased every \ 
block that touched an included layout region. Now, we restore surrounding data \ 
in case a block expands beyond the region.

# flashrom/1.0

New major user-visible features

    Support layouts for read and erase commands
    New command line switch --noverify-all (-N) allows flashing of individual \ 
regions without reading the whole flash chip (particular useful with locked down \ 
Intel ME firmware)
    New command line switch --ifd to read the layout from an Intel Firmware \ 
Descriptor on flash
    We got rid of the delay-loop calibration (if the OS provides an accurate \ 
timer through clock_gettime())
    Reading speed of USB programmers should have increased (reading bigger \ 
chunks at once, we reduce the overhead)
    Support Intel 100 series PCHs (Sunrise Point, coupled with Skylake and Kaby \ 
Lake) and C620 series PCHs (Lewisburg paired with Workstation/Server versions of \ 
the former)

New programmers

    Intel 100 series / C620 series PCHs
    Intel I210 NICs (EEPROM and SPI)
    AMD Merlin Falcon (FP4)

New chips

    W25Q128.W

# flashrom/0.9.9

New major user-visible features

    Allow to link flashrom statically (with make CONFIG_STATIC=yes)
    Ease debugging of build problems with libraries
        Output way more debug information to build_details.txt
        Provide list of set make configuration variables that make builds fail
        Allow to easily disable groups of programmers depending on a library \ 
(make CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no \ 
CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no)
    Ignore 0x00 as a flash chip manufacturer ID in the generic match to avoid \ 
ambiguous messages
    Various improvements for serprog-based programmers
    Support arbitrary UART baud rates on Windows

New programmers

    Enable the dediprog module by default, add support for Dediprog SF600 and \ 
the new communication protocol of the SF100 with newer firmware.
    WCH CH341A
    VIA VT8251
    Add support to update the firmware of Promise UltraATA controllers

New chips

    ESI ES25P40, ES25P80 and ES25P16
    GigaDevice GD25VQ41B, GD25Q128C, GD25VQ21B, GD25VQ40C, GD25VQ80C and \ 
GD25VQ16C, GD25LQ40, GD25LQ80, GD25LQ16, GD25LQ64(B), GD25LQ128
    PMC Pm25LQ020, Pm25LQ040, Pm25LQ080, Pm25LQ016, Pm25LQ032C
    Sanyo LE25FU406C/LE25U40CMC
    SST SST25WF020A, SST25WF040B, SST25WF080B
    Winbond W29C512A/W29EE512

Infrastructural improvements and fixes

    Add support for libftdi1 (previous libftdi support still in place for \ 
backward compatibility but will eventually be removed)
    Add infrastructure for libusb1 and use it for new programmers (existing code \ 
will be migrated from libusb0 continuously in the future)
    Many cross-platform and cross-architecture improvements:
        Fix compilation on OSX and Solaris-based systems
        Add support for GNU Hurd
        Add support for musl libc
        Use nanosleep() instead of usleep() where available (enables building \ 
with uclibc)
        Support compilation on Android (bionic libc)
        Partial architecture support for alpha hppa m68k sh s39
    Rigorously check integrity of I/O stream data (e.g. to notice full \ 
filesystems when writing flash data to a file)
    Add make parameters for easier disabling/enabling of various classes of \ 
programmers: CONFIG_NOTHING=yes CONFIG_EVERYTHING=yes \ 
CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no \ 
CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no

# flashrom/0.9.8

New major user-visible features

    A bunch of newly supported architectures: ARM 64bit, big-endian ARM, PowerPC \ 
64bit, SPARC.
    Better support for AMD chipsets in general (speed selection, more \ 
conservative defaults etc.).
    Add new programmer support:
        AMD Yangtze's SPI controller (found in Kabini and Tamesh) as well as the \ 
one in Bolton FCHs (A78, A88X, A77E).
        Intel Silvermont chipsets (Bay Trail, Rangeley and Avoton) and Wildcat \ 
Point (for Broadwell).
        ITE IT8212F parallel programmer as it8212 (found on PCI SATA RAID \ 
controllers).
        VIA VT6421A LPC programmer as atavia (found on PCI SATA controllers).
        EEPROMs on Intel network cards based on the 82580 NIC (nicintel_eeprom).
        Intel 82599 10 GbE NICs boot PROMs (part of nicintel_spi).
        Microchip PICkit 2
        MSTAR I²C ISP protocol (not compiled in by default). Rewrites the \ 
firmware of your screen over VGA/DVI(!).
        Extension of the rayer_spi module to supported various similar devices \ 
(Altera ByteBlasterMV, Atmel STK200/300, Wiggler LPT).
    Switching betweens chips on boards with GIGABYTE's DualBIOS (using the \ 
dualbiosindex programmer parameter).
    Enable fwh_idsel parameter for C-ICH and ICH2/3/4/5 chipsets.
    Finer-grained display of support status used for flash chip operations, \ 
chipsets, mainboards and programmers (new states: configuration-dependent, not \ 
applicable).

New chips

    29GL series of chip families (EON EN29GL, ISSI (PMC) IS29GL, Macronix MX29GL \ 
(+MX68GL1G0F), Winbond W29GL)
    Atmel (now Adesto) AT45DB family + AT45CS1282, as well as AT25DL081 and \ 
AT25DL161.
    Atmel AT49LH004 and AT49LH00B4
    Eon EN25P family
    Eon EN29LV040 and EN29LV040A
    ESMT F25L32PA
    Fujitsu MBM29LV160BE/TE
    Macronix MX23L1654, MX23L3254, MX23L6454, MX23L12854 (the first supported \ 
mask ROMs)
    Macronix MX25L6495F
    Macronix MX25U12835F
    Macronix MX29F022(N)B and MX29F022(N)T
    Sanyo LE25FW106, LE25FW406A and LE25FU406B
    Spansion S25FL127S, S25FL128P, S25FL129P, S25FL132K and S25FL164K
    SST25LF020A, SST25WF080, SST25VF512A, SST25VF020 and SST25VF020B
    ST M50LPW080
    Winbond W25Q40.V

Infrastructural improvements and fixes

    Automatic unmapping and rounding of memory maps.
    Using an internal DMI decoder instead of relying on dmidecode.
    Addition of getrevision.sh to retrieve various data from SCM systems.
    Removal of yet another bunch of exit() calls and other code that interferes \ 
with the creation of libflashrom.
    First huge step to refactor Intel Chipset Enables.
    Various cross-platform improvements (e.g. a more unified operating system \ 
and CPU architecture detection).
    By setting CONFIG_EVERYTHING=yes at compile time all modules that are \ 
disabled by default will be compiled in.
   2016-12-22 22:07:17 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
It is UB whether defined() is evaluated in macro expansions, so avoid
it.
   2016-02-26 11:24:14 by Jonathan Perkin | Files touched by this commit (44)
Log message:
Use OPSYSVARS.
   2015-11-04 02:32:42 by Alistair G. Crooks | Files touched by this commit (499)
Log message:
Add SHA512 digests for distfiles for sysutils category

Problems found with existing digests:
	Package memconf distfile memconf-2.16/memconf.gz
	b6f4b736cac388dddc5070670351cf7262aba048 [recorded]
	95748686a5ad8144232f4d4abc9bf052721a196f [calculated]

Problems found locating distfiles:
	Package dc-tools: missing distfile dc-tools/abs0-dc-burn-netbsd-1.5-0-gae55ec9
	Package ipw-firmware: missing distfile ipw2100-fw-1.2.tgz
	Package iwi-firmware: missing distfile ipw2200-fw-2.3.tgz
	Package nvnet: missing distfile nvnet-netbsd-src-20050620.tgz
	Package syslog-ng: missing distfile syslog-ng-3.7.2.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2014-03-06 16:46:39 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
Remove impossible check.