什么是fastboot? 是目标板和主机之间定义的一套协议,这套协议以USB作为底层传输物理层,协议规定了主机fastboot和目标板fastboot软件之间的信息传输规则。 Fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。 fastboot模式,即bootloader模式,fastboot是uboot中的一个命令,uboot的fastboot命令将开发板伪装成一个usb从设备。 adb reboot bootloader,这个命令实现的是从电脑端控制手机或者设备进入bootloader模式,而fastboot正是工作在这个模式的,我们所谓的线刷实际上都是工作在bootloader模式。 一般fastboot线刷都会结合adb调试工具一起使用,先使用adb reboot bootloader进入bootloder模式,再使用fastboot工具进行刷机 2.命令 sudo fastboot flash bootloader u-boot.bin sudo fastboot flash kernel uImage sudo fastboot flash system system.img sudo fastboot flash userdata userdata.img sudo fastboot flash ramdisk ramdisk-uboot.img sudo 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.2 重启系统 sudo fastboot reboot 2.3 不烧写flash情况下调试 sudo fastboot boot uImage 或者u-boot.bin 2.4 查看版本号 sudo fastboot getver:version 2.5 复位到bootloader sudo fastboot reboot-bootloader 2.6 命令格式 主机端发送字符串的命令,字符串小于等于64个字节,客户端首先返回四个字节的内容,是OKAY、FAIL、DATA、INFO之一,随后跟着是信息或数数据 2.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 2.8 获取客户端(手机端)变量信息 fastboot getvar version:version-bootloader:version-baseband:product:serialno:secure version 客户端支持的fastboot协议版本 version-bootloader Bootloader的版本号 version-baseband 基带版本 product 产品名称 serialno 产品序列号 secure 返回yes 表示在刷机时需要获取签名 3.支持的参数 偏移和地址在u-boot中定义,要想使用好fastboot,就必须要知道参数名称与文件的对应关系
4.其他功能 4.1环境变量 fastboot支持环境变量文件,通常在fastboot烧写nand flash时,会将偏移量和大小写入环境变量中,命名格式为: <partition name>_nand_offset <partition name>_nand_size 例如,内核烧写完成后printenv可以看到: kernel_nand_offset=0x140000 kernel_nand_size=0x1f70000 4.2查看USB设备 查看连接到OTG的USB设备情况,lsusb: Bus 008 Device 030: ID 0451:cafe Texas Instruments, Inc. <----- fastboot 更多细节查看cat /proc/bus/usb/devices 4.3 静态模块地址 fastboot重用内核的nand地址分配方式,并且大部分是可以变化的,但是下面列出来的这些地址是不变的。 name offset size xloader 0x00000000 0x00080000 bootloader 0x00080000 0x00180000 environment 0x001C0000 0x00040000 4.4 文件大小限制 最大下载文件大小为240M |
|