[PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT

Sean Anderson sean.anderson at seco.com
Mon Feb 1 16:55:46 CET 2021


Looks like I didn't CC people properly...

On 1/27/21 11:36 AM, Sean Anderson wrote:
> Hi Patrick,
> 
> I believe that the first two patches in this series can be replicated
> with [1]. For example, if you currently use FASTBOOT_MMC_BOOT_SUPPORT
> with FASTBOOT_MMC_BOOT1_NAME set to "mmc0boot1", leading to commands
> like
> 
> $ fastboot erase mmc0boot1
> 
> You could instead do
> 
> $ fastboot erase 0.1:0
> 
> And the first behavior could be emulated by setting the environmental
> variable "fastboot_partition_alias_mmc0boot1" to "0.1:0".
> 
> I would like to work towards deprecating Kconfigs for achieving this
> particular use case. This is because everything is set at compile-time,
> but we have existing tools which make this easy to do at run-time.
> Favoring run-time configuration makes it easier to use one U-Boot for
> different boards, and also makes it easier for users to modify U-Boot.
> 
> For the latter two patches, I think there are two existing solutions.
> First, there is the patch to add "ucmd" support to fastboot. This allows
> running arbitrary commands on the U-Boot side. However, this may be
> unsuitable for systems which need to maintain a chain of trust (since
> allowing arbitrary commands would allow arbitrary software to run).
> 
> With this in mind, FIT images allow for script sections. For example,
> one could create an image tree source file like
> 
> /dts-v1/;
> 
> / {
>      description = "Configuration script";
>      #address-cells = <1>;
> 
>      images {
>          default = "script-1";
>          script-1 {
>              data = /incbin/("mmc.scr");
>              type = "script";
>              compression = "none";
>              signature {
>                  algo = "sha1,rsa2048";
>                  key-name-hint = "dev";
>              };
>          };
>      };
> };
> 
> (or something similar; I haven't tested this). This would create a fit
> with containing "mmc.scr". On the U-Boot side, running
> 
> fastboot 0
> source
> 
> Would source any script contained within the FIT image (if it was
> downloaded e.g. with "fastboot boot mmc.itb". I think this process would
> work well for "run once" scripts like setting the mmc boot partitions.
> 
> Please let me know if any of the above suggestions would achieve the
> functionality you need.
> 
> --Sean
> 
> [1] https://patchwork.ozlabs.org/project/uboot/list/?series=223198
> [2] https://patchwork.ozlabs.org/project/uboot/patch/20210111101919.228555-1-hs@denx.de/
> 
> On 1/27/21 8:46 AM, Patrick Delaunay wrote:
>>
>> Hi,
>>
>> It is a rebased V2 version of the serie [1].
>>
>> This serie adds a lot of new #if and doesn't respect the last
>> U-Boot coding rules with 14 warnings detected by checkpatch:
>>
>>    warning: Use 'if (IS_ENABLED(CONFIG...))'
>>             instead of '#if or #ifdef' where possible
>>
>> But I chose to copy the existing code of the fastboot files
>> fb_command.c to a have an easier review.
>>
>> So I prefer sent a patch (if it is required) to remove all the
>> #ifdef in this file when the serie will be accepted.
>>
>> I check compilation of the added features on stm32mp1 platform
>> with the serie [2].
>>
>> The compilation for modified boards (with already activated config
>> CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT) is verified with buildman:
>>
>> tools/buildman/buildman mt8512_bm1_emmc mt8518_ap1_emmc pumpkin
>> Building current source for 3 boards (3 threads, 4 jobs per thread)
>>     aarch64:  w+   pumpkin
>> +===================== WARNING ======================
>> +This board does not use CONFIG_DM_ETH (Driver Model
>> +for Ethernet drivers). Please update the board to use
>> +CONFIG_DM_ETH before the v2020.07 release. Failure to
>> +update by the deadline may result in board removal.
>> +See doc/driver-model/migration.rst for more info.
>> +====================================================
>>     aarch64:  w+   mt8518_ap1_emmc
>> +===================== WARNING ======================
>> +This board does not use CONFIG_DM_ETH (Driver Model
>> +for Ethernet drivers). Please update the board to use
>> +CONFIG_DM_ETH before the v2020.07 release. Failure to
>> +update by the deadline may result in board removal.
>> +See doc/driver-model/migration.rst for more info.
>> +====================================================
>>     aarch64:  w+   mt8512_bm1_emmc
>> +===================== WARNING ======================
>> +This board does not use CONFIG_DM_ETH (Driver Model
>> +for Ethernet drivers). Please update the board to use
>> +CONFIG_DM_ETH before the v2020.07 release. Failure to
>> +update by the deadline may result in board removal.
>> +See doc/driver-model/migration.rst for more info.
>> +====================================================
>>      0    3    0 /3              0:00:07  : mt8512_bm1_emmc
>> Completed: 3 total built, duration 0:00:23, rate 0.13
>>
>> [1] "fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT"
>>      http://patchwork.ozlabs.org/project/uboot/list/?series=200509&state=*
>>
>> [2] "configs: stm32mp1: enable fastboot support of eMMC boot partition"
>>      http://patchwork.ozlabs.org/project/uboot/list/?series=200510
>>
>> Regards
>>
>> Patrick
>>
>>
>> Changes in v2:
>> - rebase on master branch
>> - new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
>> - new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
>>
>> Patrick Delaunay (4):
>>    fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
>>    fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2
>>    fastboot: add command to select the default emmc hwpart for boot
>>    fastboot: add command to select the eMMC boot configuration
>>
>>   configs/mt8512_bm1_emmc_defconfig |  3 +-
>>   configs/mt8518_ap1_emmc_defconfig |  3 +-
>>   configs/pumpkin_defconfig         |  3 +-
>>   doc/android/fastboot.rst          |  3 ++
>>   drivers/fastboot/Kconfig          | 62 ++++++++++++++++++++------
>>   drivers/fastboot/fb_command.c     | 72 +++++++++++++++++++++++++++++++
>>   drivers/fastboot/fb_mmc.c         | 52 ++++++++++++++--------
>>   include/fastboot.h                |  6 +++
>>   8 files changed, 171 insertions(+), 33 deletions(-)
>>
> 




More information about the U-Boot mailing list