{
  # See README_disk_layout
  "parent": "common_disk_layout.json",

  "metadata": {
    "block_size": 512,
    "fs_block_size": 4096,
    "fs_align": "2 MiB"
  },
  "layouts": {
    # common is the standard layout template.
    "common": [
      {
        # Modern boards no longer store RW firmware on primary storage.
        "num": 11,
        "label": "RWFW",
        "type": "firmware"
      },
      {
        # Unused partition, reserved for software slot C.
        "num": 6,
        "label": "KERN-C",
        "type": "kernel"
      },
      {
        # Unused partition, reserved for software slot C.
        "num": 7,
        "label": "ROOT-C",
        "type": "rootfs"
      },
      {
        # Unused partition, reserved for future changes.
        "num": 9,
        "type": "reserved",
        "label": "reserved"
      },
      {
        # Unused partition, reserved for future changes.
        "num": 10,
        "type": "reserved",
        "label": "reserved"
      },
      {
        # Kernel for Slot A, no file system.
        "num": 2,
        "label": "KERN-A",
        "type": "kernel",
        "size": "32 MiB"
      },
      {
        # Kernel for Slot B, no file system.
        "num": 4,
        "label": "KERN-B",
        "type": "kernel",
        "size": "32 MiB"
      },
      {
        # Board specific files, mostly unused.
        "num": 8,
        "label": "OEM",
        "type": "data",
        "fs_format": "ext4",
        "size": "16 MiB",
        "uuid": "random"
      },
      {
        # Used for Legacy Bios, and EFI Bios, not ChromeOS hardware
        "num": 12,
        "label": "EFI-SYSTEM",
        "type": "efi",
        "fs_format": "vfat",
        "size": "64 MiB",
        "uuid": "clear"
      },
      {
        # Slot B rootfs. Must match Root A in side for normal
        # updates. Will contain copy of Root A after install, and
        # contain new rootfs's after runtime updates.
        "num": 5,
        "label": "ROOT-B",
        "type": "rootfs",
        "size": "4096 MiB"
      },
      {
        # Slot A rootfs. Rootfs + extras must fit.
        # FS size + Verity (64 * FS blocks) + Boot Cache (200M).
        # Make sure that other layouts still has room for the
        # extras, should you increase FS size
        #
        # Note that updates will fail if the rootfs size
        # shrinks. (crbug.com/192136)
        #
        # Changes to the offset of this partition may require
        # changes in cros-signing/security_test_baselines/
        # ensure_secure_kernelparams.config to allow secure boot.
        "num": 3,
        "label": "ROOT-A",
        "type": "rootfs",
        "fs_format": "ext2",
        "fs_options": {
          "squashfs": "-noI -comp lzo -Xalgorithm lzo1x_999 -Xcompression-level 9",
          "btrfs": "skinny-metadata"
        },
        "size": "4096 MiB",
        "fs_size": "2300 MiB",
        "uuid": "clear"
      },
      {
        # User data, fills all remaining space on drive.
        "num": 1,
        "label": "STATE",
        "type": "data",
        "fs_format": "ext4",
        "size": "3 GiB",
        "features": ["expand"],
        "uuid": "random"
      }
    ],
    # Used for installs on main device
    # by default, same as 'common'.
    "base": [
    ],
    # Used for bootable USB installs (not recovery).
    "usb": [
      {
        "num": 5,
        "size": "2 MiB"
      },
      {
        "num": 3,
        "size": "2400 MiB"
      }
    ],
    # Used for factory install images.
    "factory_install": [
      {
        "num": 12,
        "size": "32 MiB"
      },
      {
        "num": 5,
        "size": "2 MiB"
      },
      {
        "num": 3,
        "size": "420 MiB",
        "fs_size": "400 MiB"
      },
      {
        "num": 1,
        "size": "140 MiB"
      }
    ],
    # Used for recovery images.
    "recovery": [
      {
        # Kernel for Slot A, no file system.
        # Make the partition as large as the firmware supports so we can boot
        # larger recovery kernels.  The kernel won't actually be this large.
        "num": 2,
        "size": "512 MiB"
      },
      {
        # Slot B rootfs, unused on USB, but pad to 2M.
        # installation will expand this to size from base.
        "num": 5,
        "size": "2 MiB"
      },
      {
        # Shrunken rootfs partition to support smaller USB sticks,
        # and smaller recovery downloads.
        # Installation will expand this to size from base.
        # The offset to the beginning of this partition, and the FS
        # size must match base exactly to allow secure boot.
        "num": 3,
        "size": "2400 MiB"
      },
      {
        # Stateful on recovery is dynamically resized larger.
        "num": 1,
        "size": "2 MiB"
      }
    ],
    # Larger rootfs, suitable for development with symbols, etc.
    # Cannot apply updates when running from USB (no slot B).
    "2gb-rootfs": [
      {
        # Will be grown to size from base on install.
        "num": 5,
        "size": "2 MiB"
      },
      {
        # Will be shrunk to size from base on install.
        "num": 3,
        "size": "2048 MiB",
        "fs_size": "2000 MiB"
      }
    ],
    # Larger rootfs, suitable for development with symbols, etc.
    # CAN apply updates when running from USB.
    "2gb-rootfs-updatable": [
      {
        # The partition size matches base, so it's installable.
        "num": 5,
        "size": "2048 MiB"
      },
      {
        # The partition size matches base, so it's installable.
        "num": 3,
        "size": "2048 MiB",
        "fs_size": "2000 MiB"
      },
      {
        "num": 1,
        "size": "4 GiB"
      }
    ],
    # Very large rootfs, suitable for development with symbols,
    # etc. Cannot apply updates when running from USB (no slot B)
    "4gb-rootfs": [
      {
        "num": 5,
        "size": "2 MiB"
      },
      {
        # This partition is larger than the base partition, so the
        # installer will corrupt the disk during installation.
        "num": 3,
        "size": "4096 MiB",
        "fs_size": "4000 MiB"
      }
    ],
    # Huge rootfs, suitable for VM only images, should not be used
    # for actual hardware devices.
    "16gb-rootfs": [
      {
        "num": 5,
        "size": "2 MiB"
      },
      {
        "num": 3,
        "size": "16384 MiB",
        "fs_size": "16000 MiB"
      }
    ]
  }
}
