分区解释:
ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。 ramdisk.img是根文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,android加载 这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 data目录下。
ramdisk.img:
system:系统分区.
userdata:数据分区.
cache:缓存分区,是安卓系统缓存区,保存系统最常访问的数据和应用程序。擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容,缓存内容会在后续手机使用过程中重新自动生成。
recovery:Recovery分区.相当于 wpe
boot:存放内核和ramdisk的分区.
hboot:这个是SPL所在的分区.很重要哦.也是fastboot所在的分区.刷错就真的变砖了.
splash1:这个就是开机第一屏幕了.
radio:这个是radio所在的分区
persist:persist.img is "persist" which contains data which shouldn't be changed after the device shipped, for example: calibration data of chips(wifi, bt, camera, etc.), certificates and other security related files. For sure even it's "persist" you still can replace it via fastboot, or change things if the devices is rooted, take it for your own risks
persist.img是“persist”,其包含 某些在设备运行之后不应被改变的 数据,例如:芯片(wifi,bt,相机等)的校准数据,证书和其它安全相关文件。 确定即使它是“坚持”,你仍然可以通过快速启动替换它,或者更改的东西,如果设备根植,为自己的风险
命令需要在HBOOT的Fastboot界面内操作
fastboot oem writecid 11111111
1,刷写system分区(这个就是Android系统了):
由于Moto为解决分区过大刷机容易导致出错,所以采用了分段式的方法。刷机时,方法还是一致的,只不过要从分段0开始,按次序刷到分段N。
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5
fastboot flash system system.img_sparsechunk.6
或者有时候工程师懒,没有采用分段,直接是一个大大的system镜像,刷机方式就简单些了:(这个就是体现到MotoX2专用adb及fastboot组件价值的时候了,这个fastboot工具有自动分段刷入功能,无需手动分段,直接输入命令开刷。)
fastboot flash system system.img
2,刷写recovery分区(大家常用的卡刷模式所在分区):
fastboot flash recovery recovery.img
3,刷写boot分区(内核):
fastboot flash boot boot.img
4,刷写radio分区(基带):
fastbootflash radio radio.img
5,刷写oem分区(运营商配置文件,和运营商配置有关):
fastboot flash oem oem.img
6,刷写motoboot镜像:(这个是bootloader的组合镜像包,简称BL,最好不要乱刷!这个只能升级不能降级这个必须与gpt版本一致才能刷进去,。并且刷这个容易变砖!)
fastboot flashbootloader bootloader.img
或者:
fastboot flashmotoboot bootloader.img
7,刷写data分区:(用于清空data分区等)
fastbootflash userdata userdata.img
8,刷写cache分区:(用于清空cache分区等)
fastboot flash cache cache.img
二,使用Fastboot命令清空分区命令:
使用格式:
fastbooterase <要清空的分区名>
下面介绍清空各分区的方法,和刷写对应分区差不多,只介绍部分经常用到的。
清空data分区:(此命令会清除data、sdcard两个分区,如果内置存储有重要的东西,不要用此命令,请在第三方recovery中进行WIPE操作)
fastbooterase userdata
清空cache分区:
fastboot erase cache
清空mdm1m9kefs1:(基带缓存分区,三个分区互补加密,破解3G其实就是改的这三个分区,要清空就一起清空。)
fastboot erase mdm1m9kefs1
清空mdm1m9kefs2:
fastboot erase mdm1m9kefs2
清空mdm1m9kefs3:
fastboot erase mdm1m9kefs3
清空data、cache、sdcard三个分区:
fastboot -w
三,其他fastboot命令:
解锁bootloader:
fastbootoem unlock
上锁bootloader:
fastboot oem lock
获取手机的全部信息:
fastboot getvar all
引导启动外部镜像:
例如要启动一个名为test.img的镜像,就输入:fastboot boot test.img
fastboot boot xxxxxx.img
一. 帮助说明
usage: fastboot [ <option> ] <command>
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,就必须要知道参数名称与文件的对应关系。
name | offset | size |
xloader | 0x00000000 | 0x00080000 |
bootloader | 0x00080000 | 0x00180000 |
environment | 0x001C0000 | 0x00040000 |
kernel | 0x00200000 | 0x01D00000 |
system | 0x02000000 | 0x0A000000 |
userdata | 0x0C000000 | 0x02000000 |
cache | 0x0E000000 | 0x02000000 |
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 | yaffs2 | userdata.img |
cache | yaffs2 | ? |
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-bootloade