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

博客讲述了在Android系统中,使用user版本通过脚本刷机时fastboot刷机出错,显示'FAILED (remote: 'unknown command')'。通过opengrok查询,定位代码位置,发现flash命令受ENABLE_UPDATE_PARTITIONS_CMDS编译控制,user编译时不定义宏,还给出了修改办法。
6546

被折叠的 条评论
为什么被折叠?



