首先保证adb有root权限
1、首先进入fastboot模式
执行 adb reboot bootloader 重起至fastboot介面
2、烧boot.img
执行 fastboot flash boot boot.img
如果烧system.img
执行 fastboot flash system system.img
也可以擦出分区:
如:fastboot erase userdata 参数用户数据分区。fastboot erase cache 参数缓存
3、重启机器
执行 fastboot reboot
这样就完成了boot.img的烧写
注:执行fastboot flash boot boot.img命令后如果有提示< waiting for device >
执行 fastboot devices命令提示
no permissions fastboot
表示没有权限
有三种方法可以解决这种情况
第一种:最简单的方法就是在fastboot前加sudo命令,以提升权限。
第二种:将fastboot的所有者属性改成root,用which命令察看fastboot所在位置,
再用命令chown改其属性:sudo chown root:root fastboot,将其权限更改一下:sudo chmod +s fastboot
第三种 :sudo chmod -R 777 /dev/bus/usb,让普通用户使用usb权限。
执行 fastboot device命令提示
无法显示任何一个devices,没有任何返回
需要配置udev规则文件,调整权限
修改/etc/udev/rule.d目录下的51-android.rules文件,如果没有创建一个51-android.rule.
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="1d6b", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<tom>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<tom>"
# adb protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="04d9", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<tom>"
# fastboot protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="1d6b", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<tom>"
上述代码中idVendor就是lsusb的时候,显示出来的id,将你的id添加上即可
ATTR{idProduct}==“0fff”, OWNER="" 这个不写也不会有影响。
主要是修改MODE的权限。上述代码中MODE的权限是0600,该成0666即可。
然后保存文件,执行下面两个命令:
sudo chmod a+x 51-android.rules
sudo udevadm control --reload-reles
重启机器可以使用了