[PATCH RFT v4 3/3] fastboot: integrate block flashing back-end

Neil Armstrong neil.armstrong at linaro.org
Thu Jun 5 19:48:31 CEST 2025


On 05/06/2025 16:21, Tom Rini wrote:
> On Thu, Jun 05, 2025 at 10:16:54AM +0200, Neil Armstrong wrote:
>> On 22/05/2025 16:39, Tom Rini wrote:
>>> On Thu, May 22, 2025 at 02:37:07PM +0200, Neil Armstrong wrote:
>>>
>>>> From: Dmitrii Merkurev <dimorinny at google.com>
>>>>
>>>> 1. Get partition info/size
>>>> 2. Erase partition
>>>> 3. Flash partition
>>>> 4. BCB
>>>>
>>>> Signed-off-by: Dmitrii Merkurev <dimorinny at google.com>
>>>> Reviewed-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>
>>>> Tested-by: Mattijs Korpershoek <mkorpershoek at kernel.org>
>>>> Signed-off-by: Neil Armstrong <neil.armstrong at linaro.org>
>>>> ---
>>>>    drivers/fastboot/Kconfig      | 29 +++++++++++++++++++++++++++++
>>>>    drivers/fastboot/Makefile     |  1 +
>>>>    drivers/fastboot/fb_command.c |  8 ++++++++
>>>>    drivers/fastboot/fb_common.c  | 22 ++++++++++++++++++----
>>>>    drivers/fastboot/fb_getvar.c  |  8 +++++++-
>>>>    5 files changed, 63 insertions(+), 5 deletions(-)
>>>
>>> I know this was posted before I replied with more feedback moments ago.
>>>
>>> [snip]
>>>> @@ -193,6 +197,31 @@ config FASTBOOT_MMC_USER_NAME
>>>>    	  defined here.
>>>>    	  The default target name for erasing EMMC_USER is "mmc0".
>>>> +config FASTBOOT_FLASH_BLOCK_INTERFACE_NAME
>>>> +	string "Define FASTBOOT block interface name"
>>>> +	depends on FASTBOOT_FLASH_BLOCK
>>>> +	default ""
>>>> +	help
>>>> +	  The fastboot "flash" and "erase" commands support operations
>>>> +	  on any Block device, this should specify the block device name
>>>> +	  like ide, scsi, usb, sata, nvme, virtio, blkmap, mtd...
>>>> +	  The mmc block device type can be used but most of the features
>>>> +	  available in the FASTBOOT_MMC will be missing.
>>>> +	  Consider using FASTBOOT_MMC on a MMC block device until all
>>>> +	  features are migrated.
>>>
>>> A default like "" in order to un-stick configs that are now here and
>>> enabling the option is wrong. If we're enabling new functionality for
>>> platforms, it needs to be configured correctly. This leads to building
>>> code on platforms that won't be used on the platform so we've likely
>>> added run-time bloat for no benefit.
>>
>> I agree but what's the solution ? I'll prefer having no default as it was initially.
> 
> No defaults is correct here, yes. It's just that the primary
> dependencies need to be fixed so that platforms don't get stuck on the
> prompt on features they won't actually use either.
> 
> Seeing what boards get stuck, and then having an idea on what
> dependencies trip them up is tricky. What I usually do in this
> situation, to see what platform is stuck on the prompt is:
> - In one terminal, fire off tools/qconfig -sC. Then wait for it to
>    seemingly be stuck with just one or two platforms left to finish
>    syncing.
> - In another terminal, 'ps uxwwww | grep make' to see what the build
>    directory of one of those stuck platforms is, then manually save off
>    the .config file, begin investigation.
> 
> That should provide what platform is asking this question and not having
> a reasonable answer. Then it's a matter of seeing if it makes sense for
> this platform to be here and so just needs to be migrated to this
> functionality or if it's here because of some dependency problem, for
> example what I was talking about in the previous part of this series.
> 

Ok I can't reproduce the crash with the last version, somehow v4 fixed it,
and the changes I did still work:
https://source.denx.de/u-boot/custodians/u-boot-ufs/-/pipelines/26523

Neil


More information about the U-Boot mailing list