Skip to content

Add "fastboot-bootpart" flasher to flash split images using Fastboot

Minecrell requested to merge Minecrell/pmbootstrap:fbbp-flasher into master

asus-me176c has a Fastboot interface that can be used for flashing, but in postmarketOS we do not use Android boot images for it. This is because is it not very practical - the boot partition is quite small and there is a (custom) EFI bootloader that can boot directly from any other FAT32 partition.

At the moment the installation process is manual:

  1. pmbootstrap install --split to have separated boot (FAT32) and rootfs images
  2. pmbootstrap export
  3. Flash boot and rootfs images manually using Fastboot

The "fastboot-bootpart" flasher implements that process in a more convenient way. When a device uses the "fastboot-bootpart" flasher:

  • We generate --split images on "pmbootstrap install" by default. (This can be disabled using --no-split instead.)
  • pmbootstrap flasher flash_kernel flashes the raw boot partition (not an Android boot image) using Fastboot, just like the rootfs.

There are some limitations that could be improved in the future:

  • "fastboot-bootpart" is not offered in the device wizard. I think it is special enough that no-one will be starting with it, and the difference to normal "fastboot" might be confusing.

  • Support "pmbootstrap flasher boot". asus-me176c does not support "fastboot boot" properly, but theoretically we could still generate Android boot images to use when booting an image directly.

  • At the moment the boot partition image is not regenerated when using "pmbootstrap flasher flash_kernel" (unlike when using Android boot images). "pmbootstrap install" needs to be run manually first.

I think @Mis012 was eventually interested in using something like this together with his "re-boot" bootloader for MSM8916.

Merge request reports