[PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy

Sascha Hauer sha at pengutronix.de
Thu Jun 9 06:02:56 PDT 2022


On Thu, Jun 09, 2022 at 02:02:47PM +0200, Ahmad Fatoum wrote:
> On 09.06.22 13:40, Sascha Hauer wrote:
> > On Thu, Jun 09, 2022 at 01:17:03PM +0200, Ahmad Fatoum wrote:
> >> Fastboot will fall back to a raw copy even for bbu- partitions if
> >> no barebox_update was found or if support isn't compiled in.
> >>
> >> Coupled with eMMC boot partitions, this could lead to
> >> `barebox_update -t mmc` updating the boot partition, while a
> >> `fastboot flash bbu-mmc` will write the image to the user area instead.
> > 
> > Have you seen this happen?
> 
> Without patch 1/2 applied, this happened to me, yes, because
> I failed to add the new filetype to filetype_is_barebox_image.
> 
> >> It's worth telling the user when this happens, so add a status message.
> > 
> > when a eMMC boot partition is registered for barebox update then the
> > update should really go there. When it goes into the user area instead
> > it's a bug. We shouldn't issue a warning then but deny the update and
> > fix the underlying bug.
> 
> There's no generic flag to detect this. The device file is the same
> for both eMMC boot and user handlers, but it depends on the barebox_update
> handler what's done with it.

With patch 1/2 applied there are now two cases how we can get to the
warning:

- The partition is bbu-mmc. In this case it's a bug when we cannot find
  the barebox update handler we have registered. We can detect that and
  deny the update.
- The partition is a plain mmc partition. In that case either we have
  a barebox update handler registered in which case it will be used,
  or we don't have one registered, in which case it's perfectly fine
  to just copy to the raw device. No warning needed.

Sascha

> 
> Cheers,
> Ahmad
>  
> > Sascha
> > 
> >>
> >> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> >> ---
> >> v1 -> v2:
> >>   - print message in case barebox_update handler is not found
> >> ---
> >>  common/fastboot.c | 8 +++++++-
> >>  1 file changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/common/fastboot.c b/common/fastboot.c
> >> index 330a06f5a32f..24eddf1cc3a5 100644
> >> --- a/common/fastboot.c
> >> +++ b/common/fastboot.c
> >> @@ -683,8 +683,14 @@ static void cb_flash(struct fastboot *fb, const char *cmd)
> >>  		};
> >>  
> >>  		handler = bbu_find_handler_by_device(data.devicefile);
> >> -		if (!handler)
> >> +		if (!handler) {
> >> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> >> +					  "No suitable barebox_update handler found");
> >> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> >> +					  "Falling back to raw copy to %s", filename);
> >> +
> >>  			goto copy;
> >> +		}
> >>  
> >>  		fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> >>  				  "This is a barebox image...");
> >> -- 
> >> 2.30.2
> >>
> >>
> >> _______________________________________________
> >> barebox mailing list
> >> barebox at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/barebox
> >>
> > 
> 
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list