[PATCH RFT v2 0/3] fastboot: add support for generic block flashing

Mattijs Korpershoek mkorpershoek at kernel.org
Thu Apr 17 16:58:41 CEST 2025


Hey Neil,

Thank you for the series.

On mer., avril 09, 2025 at 09:58, neil.armstrong at linaro.org wrote:

> This serie permits using any block device as target
> for fastboot by moving the generic block logic into
> a common set of helpers and also use them as generic
> backend.
>
> The erase logic has been extended to support software
> erase since only 2 block drivers exposes the erase
> operation.
>
> Tests are welcome to make sure this series doesn't
> introduce any regressions on the emmc backend.
>
> Signed-off-by: Neil Armstrong <neil.armstrong at linaro.org>

On top of master (commit 5b4ae0f3f040 ("mailmap: update my name and email")),
Using khadas-vim3_android_defconfig, I did the following:

boot the newly generated U-Boot with boot-g12.py:
$ boot-g12.py ~/work/upstream/yukawa/bootloader/u-boot_kvim3_noab.bin

Run fastboot from U-Boot console:
=> fastboot usb 0
crq->brequest:0x0

Then, on the host, reflash the bootloader:
$ fastboot flash bootloader u-boot_kvim3_noab.bin

In U-Boot, everything seems fine:
** Bad device specification mmc bootloader_a **
** Bad device specification mmc bootloader_a **
Couldn't find partition mmc bootloader_a
Starting download of 1288048 bytes
.........
downloading of 1288048 bytes finished
Flashing Raw Image
........ wrote 1288192 bytes to 'bootloader'
resetting ...
bl31 reboot reason: 0xd
bl31 reboot reason: 0x0
system cmd  1.
G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:D;RCY:0;USB:0;

And after rebooting the board, we are on the newly flashed bootloader.

So, to me:

Tested-by: Mattijs Korpershoek <mkorpershoek at kernel.org>

I do need some more time to review, though.
Thank you for your patience!

> ---
> Changes in v2:
> - Dropped applied virtio erase patch
> - Reorganize patches, introducing helpers first, using them in mmc afterwards
> - Added soft-erase logic
> - Added move helpers to handle the partitions erase & flash from emmc
> - Fixed const var on last patch
> - Link to v1: https://lore.kernel.org/all/20240306185921.1854109-1-dimorinny@google.com/
>
> ---
> Dmitrii Merkurev (3):
>       fastboot: blk: introduce fastboot block flashing support
>       fastboot: blk: switch emmc to use the block helpers
>       fastboot: integrate block flashing back-end
>
>  drivers/fastboot/Kconfig      |  20 ++-
>  drivers/fastboot/Makefile     |   4 +-
>  drivers/fastboot/fb_block.c   | 313 ++++++++++++++++++++++++++++++++++++++++++
>  drivers/fastboot/fb_command.c |   8 ++
>  drivers/fastboot/fb_common.c  |  16 ++-
>  drivers/fastboot/fb_getvar.c  |   8 +-
>  drivers/fastboot/fb_mmc.c     | 210 ++--------------------------
>  include/fb_block.h            | 104 ++++++++++++++
>  8 files changed, 477 insertions(+), 206 deletions(-)
> ---
> base-commit: f892a7f397a66d8d09f418d1e0e06dfb48bac27d
> change-id: 20250408-topic-fastboot-blk-c5e14cd59224
>
> Best regards,
> -- 
> Neil Armstrong <neil.armstrong at linaro.org>


More information about the U-Boot mailing list