This one works "0:0" linux> fastboot flash 0:0 core-image-minimal.wic linux> target reported max download size of 419430400 bytes linux> Sending '0:0' (402048 KB)... linux> OKAY [ 12.613s] linux> Writing '0:0'... linux> OKAY [ 30.204s] linux> Finished. Total time: 42.842s
u-boot> ** Bad partition specification mmc 0:0_a ** u-boot> Couldn't find partition mmc 0:0_a u-boot> ** Unrecognized filesystem type ** u-boot> Starting download of 411697152 bytes u-boot> downloading of 411697152 bytes finished u-boot> Flashing Raw Image u-boot> ........ wrote 411697152 bytes to '0:0' 15.05.21 01:26, Sean Anderson пише: > > > On 5/14/21 6:10 PM, Oleh Kravchenko wrote: >> Hello Sean, >> Could you please clarify what you have mean? >> >> I think you pointing to this? >>> fastboot_raw_partition_<raw partition name>=<offset> <size> [mmcpart <num>] >> >> Because I don't have idea how aliases will help to flash. > > No, specifically I was requesting that you try "fastboot flash 0.1:0 > foo.img" (or 1.1:0 depending on your mmc). And please send me the > failing output from the U-Boot side. > > (and please address the comments inline below as well) > > --Sean > >> >> 15.05.21 00:45, Sean Anderson пише: >>> On 5/14/21 5:26 PM, Oleh Kravchenko wrote: >>>> Hello guys, >>>> Could you please review and merge this patch? >>> >>> Did you have any luck with the second suggestion [1] I made for your >>> original patch? >>> >>> [1] https://lists.denx.de/pipermail/u-boot/2021-May/449778.html >>> >>> --Sean >>> >>>> >>>> PR successfully passed CI: >>>> https://github.com/u-boot/u-boot/pull/75 >>>> >>>> 15.05.21 00:15, Oleh Kravchenko пише: >>>>> 'gpt' and 'mmc0' fastboot partitions have been treated as the same device, >>>>> but it is wrong. >>>>> >>>>> Signed-off-by: Oleh Kravchenko <o...@kaa.org.ua> >>>>> Cc: Pantelis Antoniou <pa...@antoniou-consulting.com> >>>>> Cc: Marek Vasut <ma...@denx.de> >>>>> --- >>>>> Changes for v2: >>>>> - code cleanup; >>>>> Changes for v3: >>>>> - QA passed at https://github.com/u-boot/u-boot/pull/75; >>>>> >>>>> drivers/fastboot/fb_mmc.c | 25 ++++++++++++++++++++----- >>>>> 1 file changed, 20 insertions(+), 5 deletions(-) >>>>> >>>>> diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c >>>>> index 2f3837e559..647d3f6c1b 100644 >>>>> --- a/drivers/fastboot/fb_mmc.c >>>>> +++ b/drivers/fastboot/fb_mmc.c >>>>> @@ -532,12 +532,7 @@ void fastboot_mmc_flash_write(const char *cmd, void >>>>> *download_buffer, >>>>> #endif >>>>> >>>>> #if CONFIG_IS_ENABLED(EFI_PARTITION) >>>>> -#ifndef CONFIG_FASTBOOT_MMC_USER_SUPPORT >>>>> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { >>>>> -#else >>>>> - if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0 || >>>>> - strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) { >>>>> -#endif >>>>> dev_desc = fastboot_mmc_get_dev(response); >>>>> if (!dev_desc) >>>>> return; >>>>> @@ -599,9 +594,29 @@ void fastboot_mmc_flash_write(const char *cmd, void >>>>> *download_buffer, >>>>> } >>>>> #endif >>>>> >>>>> +#if CONFIG_IS_ENABLED(FASTBOOT_MMC_USER_SUPPORT) >>> >>> Is it possible to use >>> >>> if (CONFIG_IS_ENABLED(...)) { ... } >>> >>> here? >>> >>>>> + if (strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) { >>>>> + dev_desc = fastboot_mmc_get_dev(response); >>>>> + if (!dev_desc) >>>>> + return; >>>>> + >>>>> + memset(&info, 0, sizeof(info)); >>>>> + info.start = 0; >>>>> + info.size = dev_desc->lba; >>>>> + info.blksz = dev_desc->blksz; >>>>> + strlcpy((char *)&info.name, cmd, sizeof(info.name)); >>>>> + >>>>> + goto write_image; >>> >>> Why do we need to skip get_part_info? >>> >>>>> + } >>>>> +#endif >>>>> + >>>>> if (fastboot_mmc_get_part_info(cmd, &dev_desc, &info, response) < >>>>>0) >>>>> return; >>>>> >>>>> +#if CONFIG_IS_ENABLED(FASTBOOT_MMC_USER_SUPPORT) >>> >>> Is conditionally defining this label necessary? >>> >>> --Sean >>> >>>>> +write_image: >>>>> +#endif >>>>> + >>>>> if (is_sparse_image(download_buffer)) { >>>>> struct fb_mmc_sparse sparse_priv; >>>>> struct sparse_storage sparse; >>>>> >>>> >> -- Best regards, Oleh Kravchenko