fastboot 使用详解
转自:http://blog.csdn.net/geniusmen/article/details/7892398 1.Fastboot简介 Fastboot是Android快速升级的一种方法,Fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。 Fastboot客户端是作为Android系统编译的一部分,编译后位于./out/host/linux-x86/bin/fastboot目录下。 Fastboot命令实例:sudo fastboot flash kernel path-to-kernel/uImage 烧写rootfs类似:sudo fastboot flash system path-to-system/system.img 2.命令 2.1?升级系统 sudo fastboot flash bootloader u-boot.bin 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,就必须要知道参数名称与文件的对应关系。 ?
?
name |
type of file |
usual file |
xloader |
xloader binary |
MLO |
bootloader |
uboot binary |
u-boot.bin |
environment |
text file |
list of variables to set |
kernel |
kernel or kernel + ramdisk |
uImage,uMulti |
system |
yaffs2 |
system.img |
userdata |
userdata.img |
cache |
? |
|
?
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。
5?参考文献
1. Android Fastboot:?http://www.omappedia.org/wiki/Android_Fastboot#Updating_system_image_on_NAND
2. fastboot_protocol.txt
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!