* [PATCH v2 1/2] fastboot: always try barebox_update handler for bbu- partitions @ 2022-06-09 11:17 Ahmad Fatoum 2022-06-09 11:17 ` [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy Ahmad Fatoum 0 siblings, 1 reply; 5+ messages in thread From: Ahmad Fatoum @ 2022-06-09 11:17 UTC (permalink / raw) To: barebox; +Cc: Ahmad Fatoum So far, fastboot barebox_update code was only entered when filetype_is_barebox_image() returned true, a function exclusively used for fastboot. Align this with normal barebox_update from the command line by leaving the decision on whether the image is correctly to the barebox_update handler if the user explicitly targets a bbu- fastboot partition. We keep the old check OR-ed to maintain backwards-compatibility for invoking barebox_update for non bbu- fastboot partitions. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> --- v1 -> v2: - new patch (Sascha) --- common/fastboot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/fastboot.c b/common/fastboot.c index f8ed40c86e00..330a06f5a32f 100644 --- a/common/fastboot.c +++ b/common/fastboot.c @@ -673,7 +673,8 @@ static void cb_flash(struct fastboot *fb, const char *cmd) goto out; } - if (IS_ENABLED(CONFIG_BAREBOX_UPDATE) && filetype_is_barebox_image(filetype)) { + if (IS_ENABLED(CONFIG_BAREBOX_UPDATE) && + (filetype_is_barebox_image(filetype) || strstarts(fentry->name, "bbu-"))) { void *buf; struct bbu_handler *handler; struct bbu_data data = { -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy 2022-06-09 11:17 [PATCH v2 1/2] fastboot: always try barebox_update handler for bbu- partitions Ahmad Fatoum @ 2022-06-09 11:17 ` Ahmad Fatoum 2022-06-09 11:40 ` Sascha Hauer 0 siblings, 1 reply; 5+ messages in thread From: Ahmad Fatoum @ 2022-06-09 11:17 UTC (permalink / raw) To: barebox; +Cc: Ahmad Fatoum 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. It's worth telling the user when this happens, so add a status message. Signed-off-by: Ahmad Fatoum <a.fatoum@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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy 2022-06-09 11:17 ` [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy Ahmad Fatoum @ 2022-06-09 11:40 ` Sascha Hauer 2022-06-09 12:02 ` Ahmad Fatoum 0 siblings, 1 reply; 5+ messages in thread From: Sascha Hauer @ 2022-06-09 11:40 UTC (permalink / raw) To: Ahmad Fatoum; +Cc: barebox 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? > > 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. Sascha > > Signed-off-by: Ahmad Fatoum <a.fatoum@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@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 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy 2022-06-09 11:40 ` Sascha Hauer @ 2022-06-09 12:02 ` Ahmad Fatoum 2022-06-09 13:02 ` Sascha Hauer 0 siblings, 1 reply; 5+ messages in thread From: Ahmad Fatoum @ 2022-06-09 12:02 UTC (permalink / raw) To: Sascha Hauer; +Cc: barebox 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. Cheers, Ahmad > Sascha > >> >> Signed-off-by: Ahmad Fatoum <a.fatoum@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@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 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy 2022-06-09 12:02 ` Ahmad Fatoum @ 2022-06-09 13:02 ` Sascha Hauer 0 siblings, 0 replies; 5+ messages in thread From: Sascha Hauer @ 2022-06-09 13:02 UTC (permalink / raw) To: Ahmad Fatoum; +Cc: barebox 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@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@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 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-06-09 13:04 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-09 11:17 [PATCH v2 1/2] fastboot: always try barebox_update handler for bbu- partitions Ahmad Fatoum 2022-06-09 11:17 ` [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy Ahmad Fatoum 2022-06-09 11:40 ` Sascha Hauer 2022-06-09 12:02 ` Ahmad Fatoum 2022-06-09 13:02 ` Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox