| { |
| "parent": "legacy_disk_layout.json", |
| "layouts": { |
| # The following number for size (4966) is determined such that the |
| # size of image with "base" disk layout is exactly 10GiB. GCE images |
| # are expected to be multiple of 1GiB. We choose 10GiB because it's |
| # the default boot disk size on GCE. |
| # |
| # For now, we determine the starting sector number of the stateful |
| # partition with cgpt (see below) on a built image. But ideally |
| # we should arrive at this number based on legacy_disk_layout.json. |
| # |
| # Partitions are expected to be aligned to 4096 block boundary, |
| # that is, 2 MiB. |
| # |
| # Starting with crrev.com/c/528047, 1GiB will always be added |
| # to the stateful partition size. Therefore, we leave room |
| # for it in the computation below to prevent the image size |
| # growing beyond 10GiB. |
| # |
| # number of 512-byte sectors in 10GiB: 20,971,520 |
| # stateful partition starting sector: 8,704,000 (cgpt show /dev/sda) |
| # stateful partition size in MiB: 5,990 (2MiB aligned) |
| # stateful partition size less 1GiB in MiB: 4,966 (crrev.com/c/528047) |
| "common": [ |
| { |
| # Kernel for Slot A. |
| "num": 2, |
| "label": "KERN-A", |
| "type": "kernel", |
| "size": "128 MiB" |
| }, |
| { |
| # Kernel for Slot B. |
| "num": 4, |
| "label": "KERN-B", |
| "type": "kernel", |
| "size": "128 MiB" |
| }, |
| { |
| # Board specific files, stores persistent configuration. |
| "num": 8, |
| "label": "OEM", |
| "type": "data", |
| "fs_format": "ext4", |
| "size": "32 MiB", |
| "uuid": "random" |
| }, |
| { |
| # Used for Legacy Bios, and EFI Bios, not ChromeOS hardware |
| "num": 12, |
| "label": "EFI-SYSTEM", |
| "type": "efi", |
| "fs_format": "vfat", |
| "size": "128 MiB", |
| "uuid": "clear" |
| }, |
| { |
| "num": 5, |
| "label": "ROOT-B", |
| "type": "rootfs", |
| "fs_size":"2 GiB", |
| "size": "2124 MiB", |
| "fs_format": "squashfs", |
| "fs_options": { |
| "squashfs": "-comp gzip" |
| } |
| }, |
| { |
| "num": 3, |
| "label": "ROOT-A", |
| "type": "rootfs", |
| "fs_size":"2 GiB", |
| "size": "2124 MiB", |
| "fs_format": "squashfs", |
| "fs_options": { |
| "squashfs": "-comp gzip" |
| } |
| }, |
| { |
| # STATE |
| "num": 1, |
| "size": "4 GiB", |
| "fs_options": { |
| # A consequence of this option is that some file system |
| # structures are initialized lazily when resizing, |
| # resulting in much faster resize2fs invocations. |
| "ext4": "-O metadata_csum" |
| } |
| } |
| ] |
| } |
| } |