fastbootd: Support flashall with logical partitions.
Currently, fastboot flashall will try to flash every partition in the image list. For devices with logical partitions, this will cause those partitions to be flashed twice (once via super.img, and again for each individual image). Additionally, super.img is needed to synchronize the logical partition list, but it is only generated with "make dist", making it inconvenient for most workflows. This patch removes automatic flashing of super.img. Instead, devices with a super partition must now generate a "super_empty.img" describing the super geometry and logical partition layout. Before flashing any other partitions, this image is used to ensure the device has created all necessary logical partitions. Additionally, before flashing (but after updating super), all logical partitions that will be flashed are resized to 0. This ensures that logical partitions will receive more optimal space allocation. Finally, during flashing of individual images, logical partitions are resized to the image size, since they do not have hardcoded sizes in the build. Bug: 78793464 Test: fastboot flashall can flash vendor, product, product_services without a make dist/super.img. Change-Id: I18c2291e0d0cb10de729c5646b75ac84dde8c871
Loading
Please register or sign in to comment