我的机器是Nexus 5


一. 安装驱动

Android系统如何刷机 android刷机教程_环境变量



如何进入fastboot模式

1. 拔掉数据线,将手机关机

2. 关机后同时按住【音量减小键】和【开关机键】即可进入Fastboot模式


开启usb调试  --> 勾选usb调试


adb devices可以看到设备名即可

Android系统如何刷机 android刷机教程_Android系统如何刷机_02




二. 下载刷机包

这是Android 4.4的刷机包,大家可以根据需求自己寻找指定的版本的刷机包

https://dl.google.com/dl/android/aosp/hammerhead-kot49h-factory-02006b99.tgz

下载完毕后的文件如下:

Android系统如何刷机 android刷机教程_Android系统如何刷机_03




三. bootloader锁定与解锁

Nexus 5 解锁 bootloader 和重新锁定 bootloader


锁定状态如下:

Android系统如何刷机 android刷机教程_Android系统如何刷机_04



输入命令

fastboot oem unlock     解锁

fastboot oem lock         锁定


解锁时可能会需要你控制音量键移动选择Yes,电源键确定即可

Android系统如何刷机 android刷机教程_字符串_05



解锁定后效果

Android系统如何刷机 android刷机教程_客户端_06




四.开始刷机

在fastboot模式下

双击刷机包下的flash-all.bat就可以开始一键刷机了

经过一段时间的等待就刷机好了


五.fastboot命令大全

命令列表:

Android系统如何刷机 android刷机教程_环境变量_07



Android分区:

Android系统如何刷机 android刷机教程_字符串_08




常用命令情景:

1.升级系统

fastboot flash bootloader u-boot.bin

fastboot flash kernel uImage

fastboot flash system system.img

fastboot flash userdata userdata.img

fastboot flash ramdisk ramdisk-uboot.img

fastboot erase cache


fastboot flash {partition} {*.img}   例:fastboot flash boot boot.img或fastboot flash system system.img等。

fastboot flashall   注意:此命令会在当前目录中查找所有img文件,将这些img文件烧写到所有对应的分区中,并重新启动手机。


一次烧写boot,system,recovery分区:

    (1)创建包含boot.img,system.img,recovery.img文件的zip包。

    (2)执行:fastboot update {*.zip}


烧写开机画面:

    fastboot flash splash1 开机画面


2.重启系统

fastboot reboot


3.不烧写flash情况下调试

fastboot boot uImage 或者u-boot.bin


4.查看版本号

fastboot getver:version


5.复位到bootloader

fastboot reboot-bootloader


6.命令格式

主机端发送字符串的命令,字符串小于等于64个字节,客户端首先返回四个字节的内容,是OKAY、FAIL、DATA、INFO之一,随后跟着是信息或数数据。


7.清空分区

fastboot erase {partition}   例:fastboot erase boot或fastboot erase system等。

fastboot erase boot

fastboot erase system

fastboot erase data

fastboot erase cache


上面的命令也可以简化成一条命令

fastboot erase system -w


8.获取客户端(手机端)变量信息

fastboot getvar version:version-bootloader:version-baseband:product:serialno:secure 

version 客户端支持的fastboot协议版本

version-bootloader  Bootloader的版本号

version-baseband    基带版本

product             产品名称

serialno             产品序列号

secure              返回yes 表示在刷机时需要获取签名


支持的参数

偏移和地址在u-boot中定义,要想使用好fastboot,就必须要知道参数名称与文件的对应关系。

Android系统如何刷机 android刷机教程_客户端_09



Android系统如何刷机 android刷机教程_字符串_10



9.环境变量

fastboot支持环境变量文件,通常在fastboot烧写nand flash时,会将偏移量和大小写入环境变量中,命名格式为:

<partition name>_nand_offset

<partition name>_nand_size


例如,内核烧写完成后printenv可以看到:

kernel_nand_offset=0x140000

kernel_nand_size=0x1f70000


10.查看USB设备

查看连接到OTG的USB设备情况,lsusb:

Bus 008 Device 030: ID 0451:cafe Texas Instruments, Inc. <----- fastboot


更多细节查看cat /proc/bus/usb/devices


11.静态模块地址

fastboot重用内核的nand地址分配方式,并且大部分是可以变化的,但是下面列出来的这些地址是不变的。

name                 offset                 size

xloader          0x00000000      0x00080000

bootloader     0x00080000      0x00180000

environment  0x001C0000      0x00040000


12 .文件大小限制

最大下载文件大小为240M。


13.擦除分区:

    fastboot erase {partition}   例:fastboot erase boot或fastboot erase system等。


14 .烧写指定分区:

    fastboot flash {partition} {*.img}   例:fastboot flash boot boot.img或fastboot flash system system.img等。


15.烧写所有分区:

    fastboot flashall   注意:此命令会在当前目录中查找所有img文件,将这些img文件烧写到所有对应的分区中,并重新启动手机。


16 .一次烧写boot,system,recovery分区:

    (1)创建包含boot.img,system.img,recovery.img文件的zip包。

    (2)执行:fastboot update {*.zip}


17.烧写开机画面:

    fastboot flash splash1 开机画面


18.重启手机:

    fastboot reboot

    fastboot reboot-bootloader






来自为知笔记(Wiz)