1.使用user版本通过脚本刷机,fastboot的刷机出现出错提示:
显示 FAILED (remote: 'unknown command')
2.opengrok里查询
3.代码位于:bootable\bootloader\edk2\QcomModulePkg\Library\FastbootLib\FastbootCmds.c
4.细看FastbootCommandSetup 在初始化的时候,会将cmd_list通过FastbootRegister进行注册。
我们要的flash命令,被ENABLE_UPDATE_PARTITIONS_CMDS 编译的时候进行了控制
5.在代码路径bootable\bootloader\edk2\QcomModulePkg 进行
grep -rn ENABLE_UPDATE_PARTITIONS_CMDS
发现会判断是否是user编译,如果是user编译,则不会定义宏
修改如下:
!if $(USER_BUILD_VARIANT) == 0
GCC:*_*_*_CC_FLAGS = -DENABLE_UPDATE_PARTITIONS_CMDS -DENABLE_BOOT_CMD -DENABLE_DEVICE_CRITICAL_LOCK_UNLOCK_CMDS
!else
GCC:*_*_*_CC_FLAGS = -DUSER_BUILD_VARIANT -DENABLE_UPDATE_PARTITIONS_CMDS -DENABLE_BOOT_CMD -DENABLE_DEVICE_CRITICAL_LOCK_UNLOCK_CMDS
!endif