Message ID | 20250506-topic-fastboot-blk-v3-0-d94be5829f46@linaro.org |
---|---|
Headers | show |
Series | fastboot: add support for generic block flashing | expand |
Hi Neil, Thank you for the series. On mar., mai 06, 2025 at 18:10, neil.armstrong@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. I've tested the series on khadas-vim3_android_defconfig keeping CONFIG_FASTBOOT_FLASH_MMC=y (so with the emmc backend) I tested the following: # flashing a raw partition with a descriptor: $ fastboot flash bootloader u-boot_kvim3_noab.bin # flashing a sparse image: $ fastboot flash super super.img I also testing reflashing the super.img when using the generic block layer: => fastboot usb 0 Warning: the fastboot block backend features are limited, consider using the MMC backend $ fastboot flash super super.img Both work great! Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org> I've also opened a issue on gitlab to harmonize the fastboot emmc backend with the generic block backend: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/issues/6 > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > Changes in v3: > - Move Kconfig/Makefile changes over the 2 patches > - Relicence to GPL2 with Dmitrii approval > - Move soft erase in a separate function > - Update help text of Kconfig BLOCK entries > - Add warning at init if MMC was selected with BLOCK backend > - Link to v2: https://lore.kernel.org/r/20250409-topic-fastboot-blk-v2-0-c676f21d414f@linaro.org > > 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 | 28 +++- > drivers/fastboot/Makefile | 4 +- > drivers/fastboot/fb_block.c | 323 ++++++++++++++++++++++++++++++++++++++++++ > drivers/fastboot/fb_command.c | 8 ++ > drivers/fastboot/fb_common.c | 22 ++- > drivers/fastboot/fb_getvar.c | 8 +- > drivers/fastboot/fb_mmc.c | 210 ++------------------------- > include/fb_block.h | 105 ++++++++++++++ > 8 files changed, 502 insertions(+), 206 deletions(-) > --- > base-commit: 4d3b5c679bc9d5c6cbbeedcc1e4a186f1cc35541 > change-id: 20250408-topic-fastboot-blk-c5e14cd59224 > > Best regards, > -- > Neil Armstrong <neil.armstrong@linaro.org>
On 07/05/2025 12:02, Mattijs Korpershoek wrote: > Hi Neil, > > Thank you for the series. > > On mar., mai 06, 2025 at 18:10, neil.armstrong@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. > > I've tested the series on khadas-vim3_android_defconfig > keeping CONFIG_FASTBOOT_FLASH_MMC=y (so with the emmc backend) > > I tested the following: > # flashing a raw partition with a descriptor: > $ fastboot flash bootloader u-boot_kvim3_noab.bin > # flashing a sparse image: > $ fastboot flash super super.img > > I also testing reflashing the super.img when using the generic block > layer: > => fastboot usb 0 > Warning: the fastboot block backend features are limited, consider using the MMC backend > > $ fastboot flash super super.img > > Both work great! > > Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Great thanks for testing !! > > I've also opened a issue on gitlab to harmonize the fastboot emmc > backend with the generic block backend: > https://source.denx.de/u-boot/custodians/u-boot-dfu/-/issues/6 Nice ! > >> >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >> --- >> Changes in v3: >> - Move Kconfig/Makefile changes over the 2 patches >> - Relicence to GPL2 with Dmitrii approval >> - Move soft erase in a separate function >> - Update help text of Kconfig BLOCK entries >> - Add warning at init if MMC was selected with BLOCK backend >> - Link to v2: https://lore.kernel.org/r/20250409-topic-fastboot-blk-v2-0-c676f21d414f@linaro.org >> >> 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 | 28 +++- >> drivers/fastboot/Makefile | 4 +- >> drivers/fastboot/fb_block.c | 323 ++++++++++++++++++++++++++++++++++++++++++ >> drivers/fastboot/fb_command.c | 8 ++ >> drivers/fastboot/fb_common.c | 22 ++- >> drivers/fastboot/fb_getvar.c | 8 +- >> drivers/fastboot/fb_mmc.c | 210 ++------------------------- >> include/fb_block.h | 105 ++++++++++++++ >> 8 files changed, 502 insertions(+), 206 deletions(-) >> --- >> base-commit: 4d3b5c679bc9d5c6cbbeedcc1e4a186f1cc35541 >> change-id: 20250408-topic-fastboot-blk-c5e14cd59224 >> >> Best regards, >> -- >> Neil Armstrong <neil.armstrong@linaro.org>
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@linaro.org> --- Changes in v3: - Move Kconfig/Makefile changes over the 2 patches - Relicence to GPL2 with Dmitrii approval - Move soft erase in a separate function - Update help text of Kconfig BLOCK entries - Add warning at init if MMC was selected with BLOCK backend - Link to v2: https://lore.kernel.org/r/20250409-topic-fastboot-blk-v2-0-c676f21d414f@linaro.org 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 | 28 +++- drivers/fastboot/Makefile | 4 +- drivers/fastboot/fb_block.c | 323 ++++++++++++++++++++++++++++++++++++++++++ drivers/fastboot/fb_command.c | 8 ++ drivers/fastboot/fb_common.c | 22 ++- drivers/fastboot/fb_getvar.c | 8 +- drivers/fastboot/fb_mmc.c | 210 ++------------------------- include/fb_block.h | 105 ++++++++++++++ 8 files changed, 502 insertions(+), 206 deletions(-) --- base-commit: 4d3b5c679bc9d5c6cbbeedcc1e4a186f1cc35541 change-id: 20250408-topic-fastboot-blk-c5e14cd59224 Best regards,