[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