FMAP
Flash Map (FMAP) is a simple specification for layout of flash devices. A reference implementation is available at flashmap git repo.
Below is the FMAP defined for Pixel 2 / Samus, retrieved by running dump_fmap image.bin:
fmap_signature FMAP
fmap_version: 1.0
fmap_base: 0x0
fmap_size: 0x00800000 (8388608)
fmap_name: FMAP
fmap_nareas: 33
>>> This section describes the attributes of this FMAP. Note that the Samus FW image size is 8MB.
area: 1
area_offset: 0x00000000
area_size: 0x00200000 (2097152)
area_name: SI_ALL
>>> This region contains the SPI descriptor in a format defined by the on-chip SPI controller and Intel Management Engine.
area: 2
area_offset: 0x00000000
area_size: 0x00001000 (4096)
area_name: SI_DESC
>>> SPI descriptor.
area: 3
area_offset: 0x00001000
area_size: 0x001ff000 (2093056)
area_name: SI_ME
>>> Management Engine.
area: 4
area_offset: 0x00200000
area_size: 0x00600000 (6291456)
area_name: SI_BIOS
>>> Non descriptor / ME region.
area: 5
area_offset: 0x00200000
area_size: 0x000f0000 (983040)
area_name: RW_SECTION_A
>>> Region A of re-writable FW, which may be reflashed during auto-update.
area: 6
area_offset: 0x00200000
area_size: 0x00010000 (65536)
area_name: VBLOCK_A
>>> Keyblock for RW Region A.
area: 7
area_offset: 0x00210000
area_size: 0x000b0000 (720896)
area_name: FW_MAIN_A
>>> Rewritable ramstage BIOS image A.
area: 8
area_offset: 0x002c0000
area_size: 0x00010000 (65536)
area_name: PD_MAIN_A
>>> PD MCU (USB-PD / USB-C power controller) EC image A.
area: 9
area_offset: 0x002d0000
area_size: 0x0001ffc0 (131008)
area_name: EC_MAIN_A
>>> Main EC (Embedded Controller) image A.
area: 10
area_offset: 0x002effc0
area_size: 0x00000040 (64)
area_name: RW_FWID_A
>>> ID string of rewritable ramstage BIOS image A. Eg. "Google_Samus.6300.174.0".
area: 11
area_offset: 0x002f0000
area_size: 0x000f0000 (983040)
area_name: RW_SECTION_B
>>> Region B of re-writable FW. For redundancy / recovery on failed update.
area: 12
area_offset: 0x002f0000
area_size: 0x00010000 (65536)
area_name: VBLOCK_B
area: 13
area_offset: 0x00300000
area_size: 0x000b0000 (720896)
area_name: FW_MAIN_B
area: 14
area_offset: 0x003b0000
area_size: 0x00010000 (65536)
area_name: PD_MAIN_B
area: 15
area_offset: 0x003c0000
area_size: 0x0001ffc0 (131008)
area_name: EC_MAIN_B
area: 16
area_offset: 0x003dffc0
area_size: 0x00000040 (64)
area_name: RW_FWID_B
>>> RW Region B.
area: 17
area_offset: 0x003e0000
area_size: 0x00010000 (65536)
area_name: RW_MRC_CACHE
>>> Region that stores board DRAM timing information, written during initial memory training.
area: 18
area_offset: 0x003f0000
area_size: 0x00004000 (16384)
area_name: RW_ELOG
>>> Event log. Normally exported and decoded on a Chromebook to /var/log/eventlog.
area: 19
area_offset: 0x003f4000
area_size: 0x00004000 (16384)
area_name: RW_SHARED
area: 20
area_offset: 0x003f4000
area_size: 0x00002000 (8192)
area_name: SHARED_DATA
area: 21
area_offset: 0x003f6000
area_size: 0x00002000 (8192)
area_name: VBLOCK_DEV
>>> Shared FW data related to dev-mode FW verification.
area: 22
area_offset: 0x003f8000
area_size: 0x00002000 (8192)
area_name: RW_VPD
>>> Writable vital product data, eg. first use date.
area: 23
area_offset: 0x003fa000
area_size: 0x00006000 (24576)
area_name: RW_UNUSED
>>> Extra / unused space in RW region.
area: 24
area_offset: 0x00400000
area_size: 0x00200000 (2097152)
area_name: RW_LEGACY
>>> Alternate OtherOS payload, normally for booting SeaBIOS.
area: 25
area_offset: 0x00600000
area_size: 0x00200000 (2097152)
area_name: WP_RO
>>> RO region of FW - written once at the factory and (normally) never again.
area: 26
area_offset: 0x00600000
area_size: 0x00004000 (16384)
area_name: RO_VPD
>>> RO vital product data, eg. sensor calibration data, keyboard / region information.
area: 27
area_offset: 0x00604000
area_size: 0x0000c000 (49152)
area_name: RO_UNUSED
>> Extra . unused space.
area: 28
area_offset: 0x00610000
area_size: 0x001f0000 (2031616)
area_name: RO_SECTION
>>> RO FW region.
area: 29
area_offset: 0x00610000
area_size: 0x00000800 (2048)
area_name: FMAP
>> Data structure that describes what you're looking at right now :)
area: 30
area_offset: 0x00610800
area_size: 0x00000040 (64)
area_name: RO_FRID
>>> ID string of RO BIOS image. Eg. "Google_Samus.6300.174.0".
area: 31
area_offset: 0x00610840
area_size: 0x000007c0 (1984)
area_name: RO_FRID_PAD
>>> For alignment of RO_FRID / GBB???
area: 32
area_offset: 0x00611000
area_size: 0x000ef000 (978944)
area_name: GBB
>>> Google Binary Block. Stores key information, FW screen bitmaps, and special developer flags that can be set to modify boot behavior.
area: 33
area_offset: 0x00700000
area_size: 0x00100000 (1048576)
area_name: BOOT_STUB
>>> RO Coreboot - Ramstage, romstage, CBFS, etc.