1# Firmware Layout Description for ChromeOS. 2# 3# The size and address of every section must be aligned to at least 4K, except: 4# RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections. 5# 6# 'FMAP' may be found by binary search so its starting address should be better 7# aligned to larger values. 8# 9# For sections to be preserved on update, add (PRESERVE) to individual sections 10# instead of a group section; otherwise the preserved data may be wrong if you 11# resize or reorder sections inside a group. 12 13FLASH@0x0 8M { 14 WP_RO@0x0 4M { 15 RO_SECTION { 16 BOOTBLOCK 128K 17 FMAP 4K 18 COREBOOT(CBFS) 19 GBB 0x2f00 20 RO_FRID 0x100 21 } 22 RO_VPD(PRESERVE) 32K # At least 16K. 23 } 24 RW_SECTION_A 1500K { 25 VBLOCK_A 8K 26 FW_MAIN_A(CBFS) 27 RW_FWID_A 0x100 28 } 29 RW_MISC 36K { 30 RW_VPD(PRESERVE) 16K # At least 8K. 31 RW_NVRAM(PRESERVE) 8K 32 RW_MRC_CACHE(PRESERVE) 8K 33 RW_ELOG(PRESERVE) 4K # ELOG driver hard-coded size in 4K. 34 } 35 RW_SECTION_B 1500K { 36 VBLOCK_B 8K 37 FW_MAIN_B(CBFS) 38 RW_FWID_B 0x100 39 } 40 RW_SHARED 36K { # Will be force updated on recovery. 41 SHARED_DATA 4K # 4K or less for netboot params. 42 RW_UNUSED 43 } 44 RW_LEGACY(CBFS) 1M # Minimal 1M. 45} 46