legacy_disk_layout: Bump recovery kernel to 32 MiB

We are iteratively discovering (b/230842782, b/233409477) that 16 MiB
(the default legacy kernel partition size) is not enough for recovery
initramfs kernels. Pre-2015, depthcharge had 16 MiB limits that we had
to follow, so the firmware limit was bumped to 32 MiB in July 2015, and
512 MiB in 2018. No devices containing pre-2015 firmware are still
supported, so it's safe to bump the recovery kernel limit across the
board. (disk layout v2 and v3 are already at 512 MiB.)

BUG=b:233409477
TEST=recovery on kevin, ...

Change-Id: I71483dfcb4320ab8d2677062208055cf39f7a6a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/3665282
Commit-Queue: Brian Norris <briannorris@chromium.org>
Tested-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/build_library/legacy_disk_layout.json b/build_library/legacy_disk_layout.json
index 49fc68e..71fb304 100644
--- a/build_library/legacy_disk_layout.json
+++ b/build_library/legacy_disk_layout.json
@@ -176,6 +176,16 @@
     # 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.
+        # NB: firmware defaulted to 32 MiB since 2015
+        # (https://crrev.com/c/281806), and was increased to 512 MiB in 2018
+        # (https://crbug.com/873135#c5).
+        "num": 2,
+        "size": "32 MiB"
+      },
+      {
         # Slot B rootfs, unused on USB, but pad to 2M.
         # installation will expand this to size from base.
         "num": 5,