{
  # 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": [
      {
        # MiniOS A partition.
        "num": 9,
        "label": "MINIOS-A",
        "type": "minios",
        "size": "128 MiB"
      },
      {
        # 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"
      },
      {
        # Board specific files, mostly unused.
        "num": 8,
        "label": "OEM",
        "type": "data",
        "size": "4 MiB",
        "fs_format": "ext4",
        "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"
      },
      {
        # Kernel for Slot A, no file system.
        "num": 2,
        "label": "KERN-A",
        "type": "kernel",
        "size": "32 MiB"
      },
      {
        # Slot A rootfs. Rootfs + extras must fit.
        # FS size + Verity (64 * FS blocks) + Boot Cache (200M).
        # Make sure that other layouts still have room for the
        # extras, should you increase FS size.
        #
        # Note that updates will fail if the rootfs size
        # shrinks. (crbug.com/192136)
        #
        # Note: fs_size is intentionally much lower than partition size. See
        # note under "Rootfs size limitations" in README.disk_layout
        #
        # 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",
          "ext2": "-i 65536",
          "btrfs": "skinny-metadata"
        },
        "size": "4 GiB",
        "fs_size": "2300 MiB",
        "uuid": "clear"
      },
      {
        # Kernel for Slot B, no file system.
        "num": 4,
        "label": "KERN-B",
        "type": "kernel",
        "size": "32 MiB"
      },
      {
        # Slot B rootfs. Must match Root A in size 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": "4 GiB"
      },
      {
        # Powerwash data, including rollback data.
        "num": 11,
        "label": "POWERWASH-DATA",
        "type": "data",
        "size": "4 MiB",
        "uuid": "random"
      },
      {
        # User data, fills all remaining space on drive.
        "num": 1,
        "label": "STATE",
        "type": "data",
        "fs_format": "ext4",
        "size": "4 GiB",
        "features": ["expand"],
        "uuid": "random"
      },
      {
        # MiniOS B partition.
        "num": 10,
        "label": "MINIOS-B",
        "type": "minios",
        "size": "128 MiB",
        # Places partition at the end of disk.
        "features": ["last_partition"]
      }
    ],
    # Used for installs on main device. By default, same as 'common'.
    "base": [
    ],
    # Used for bootable USB installs (not recovery).
    "usb": [
      {
        "num": 3,
        "size": "2400 MiB"
      },
      {
        "num": 5,
        "size": "2 MiB"
      }
    ],
    # Same as USB, but updatable.
    "usb-updatable": [
      {
        "num": 3,
        "size": "2400 MiB"
      },
      {
        "num": 5,
        "size": "2400 MiB"
      }
    ],
    # Used for factory install images.
    "factory_install": [
      {
        "num": 3,
        "size": "480 MiB",
        "fs_size": "460 MiB",
        "fs_options": {
          "ext2": "-i 32768"
        }
      },
      {
        "num": 4,
        "size": "1"
      },
      {
        "num": 5,
        "size": "1"
      },
      {
        "num": 1,
        "size": "200 MiB"
      }
    ],
    "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"
      },
      {
        # 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"
      },
      {
        # Slot B rootfs, unused on USB, but pad to 2M.
        # Installation will expand this to size from base.
        "num": 5,
        "size": "2 MiB"
      },
      {
        # Stateful on recovery is dynamically resized larger.
        "num": 1,
        "size": "2 MiB"
      }
    ],
    # Huge rootfs, suitable for VM only images, should not be used
    # for actual hardware devices.
    "16gb-rootfs": [
      {
        "num": 3,
        "size": "16 GiB",
        "fs_size": "16000 MiB"
      },
      {
        "num": 5,
        "size": "2 MiB"
      }
    ]
  }
}
