我正在尝试在我的 NVIDIA 测试 git 上加载自定义内核。我输入fastboot boot myImage
,然后我得到:
<Waiting for device>
我认为这是fastboot
我设备上的驱动程序开启模式的问题。但是我不知道如何在linux上安装驱动程序。
各位大佬知道怎么安装驱动吗?
D Shu 链接的页面的简短版本(并且没有可怕的弹出广告)是当您当前的用户无法访问 USB 设备节点时,会发生这种“等待设备”问题。USB id 在 fastboot 模式下是不同的,因此您可以在 adb 中轻松获得它的权限,但在 fastboot 中却没有。
修复它(在 Ubuntu 上;其他系统可能略有不同):
运行lsusb -v | less
并找到如下所示的相关部分:
Bus 001 Device 027: ID 18d1:4e30 Google Inc.
Couldn't open device, some information will be missing
Device Descriptor:
...
idVendor 0x18d1 Google Inc.
现在做
sudo vi /etc/udev/rules.d/11-android.rules
如果该文件尚不存在也没关系;使用这样的行创建它,插入您自己的用户名和供应商 ID:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", MODE="0640", OWNER="mbp"
然后
sudo service udev restart
然后验证设备节点权限是否已更改:
ls -Rl /dev/bus/usb
更短的俗气版本是仅以fastboot
root 身份运行。但是,您需要以 root 身份运行与设备通信的每个命令,这往往会导致其他并发症。从长远来看,更简单的是修复权限。
随便用sudo
,快速启动需要root权限
要使用fastboot命令,您首先需要将设备置于 fastboot 模式:
$ adb reboot bootloader
一旦设备处于快速启动模式,您就可以使用自己的内核启动它,例如:
$ fastboot boot myboot.img
以上只会启动你的内核一次,当你重启设备时,旧内核将再次使用。要替换设备上的内核,您需要将其刷入设备:
$ fastboot flash boot myboot.img
希望有帮助。
尝试使用发生fastboot
这种情况时生成的编译器。文件路径是out/host/linux(or other)/bin/fastboot
并且sudo
也是需要的。它在大多数情况下都有效。
In my case (on windows 10), it would connect fine to adb and I could type any adb
commands. But as soon as it got to the bootloader using adb reboot bootloader
I wasn't able to perform any fastboot
commands.
What I did notice that in the device manager that it refreshed when I connected to device. Next thing to do was to check what changed when connecting. Apparently the fastboot device was inside the Kedacom USB Device
. Not really sure what that was, but I updated the device to use a different driver, in my case the Fastboot interface (Google USB ID)
, and that fixed my waiting for device
issue
在您的设备上转到设置 -> 开发设置,然后选择“允许 OEM 解锁”,如解锁引导加载程序所示
至少这在我的 MotoE 4G 上对我有用。
最短的答案是首先运行 fastboot 命令(在我的 ubuntu 案例中,即 ./fastboot-linux oem unlock)(这里我使用的是 ubuntu 12.04 和 rooting nexus4)然后在 fastboot 模式下打开设备电源(在 nexus 4 中按 vol -向下键和电源按钮)