# Firmware Layout Description for ChromeOS. # # The size and address of every section must be aligned to at least 4K, except: # RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections. # # 'FMAP' may be found by binary search so its starting address should be better # aligned to larger values. # # For sections to be preserved on update, add (PRESERVE) to individual sections # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. FLASH@0x0 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K FMAP 4K COREBOOT(CBFS) GBB 0x2f00 RO_FRID 0x100 } RO_GSCVD 8K RO_VPD(PRESERVE) 32K # At least 16K. } RW_SECTION_A 1500K { VBLOCK_A 8K FW_MAIN_A(CBFS) RW_FWID_A 0x100 } RW_MISC 36K { RW_VPD(PRESERVE) 8K # At least 8K. RW_NVRAM(PRESERVE) 8K RW_MRC_CACHE(PRESERVE) 16K RW_ELOG(PRESERVE) 4K # ELOG driver hard-coded size in 4K. } RW_SECTION_B 1500K { VBLOCK_B 8K FW_MAIN_B(CBFS) RW_FWID_B 0x100 } RW_SHARED 36K { # Will be force updated on recovery. SHARED_DATA 4K # 4K or less for netboot params. RW_UNUSED } RW_LEGACY(CBFS) 1M # Minimal 1M. }