“ adb reboot bootloader”在内部如何工作?

Ins*_*der 5 embedded android adb bootloader

我看到我的android映像出现问题,该命令adb reboot bootloader只是将命令重新引导回android,而不是进入bootloader模式。

为了解决该问题,我进行了一些研究,发现有两件事,adb并且adbd主机和目标设备通过套接字使用TCP协议进行通信。

因此,有趣的是诸如adb shelladb devices正在运行的命令,而不是reboot bootloader。我想了解adbd收到什么reboot bootloader。它会更改无秩序,设置一些标志,更改EFI变量...吗?

您能否指出一些好的链接或分享的理解?

PS:我正在开发嵌入式设备环境,类似于树莓派...

Ale*_* P. 7

这是adb reboot bootloader通过USB(通过fastboot模式下的标准Android引导加载程序支持的唯一传输)连接的标准Android设备的工作方式:

  1. adb客户端将reboot bootloader命令发送到adb服务器(通过TCP)
  2. adb服务器将reboot bootloader命令转发到adbd设备上的(通过USB)
  3. adbdsys.powerctl属性设置为reboot,bootloader
  4. sys.powerctl更改触发init.rc运行powerctl init内置的规则
  5. 哪个_NR_reboot系统调用
  6. 设置reboot to bootloader标志并重启设备

下次启动时,引导加载程序将看到该标志并进入该fastboot模式。但仅当USB已连接时。