fastboot

支华池
2023-12-01

分区解释:

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界面内操作 


查看CID
fastboot getvar cid

修改超级CID(需要S-OFF)

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专用adbfastboot组件价值的时候了,这个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分区(此命令会清除datasdcard两个分区,如果内置存储有重要的东西,不要用此命令,请在第三方recovery中进行WIPE操作)

fastbooterase userdata
 

清空cache分区:

fastboot erase cache
 
清空mdm1m9kefs1(基带缓存分区,三个分区互补加密,破解3G其实就是改的这三个分区,要清空就一起清空。)

fastboot erase mdm1m9kefs1
 

  清空mdm1m9kefs2

fastboot erase mdm1m9kefs2
 

  清空mdm1m9kefs3

fastboot erase mdm1m9kefs3
 

清空datacachesdcard三个分区:

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. commands:  
  2. update <filename>   reflash device from update.zip  
  3. flashall    "flash boot" + "flash system"  
  4. flash <partition> [ <filename> ] write a file to a flash partition  
  5. erase <partition>   erase a flash partition  
  6. getvar <variable>   display a bootloader variable  
  7. boot <kernel> [ <ramdisk> ]  download and boot kernel  
  8. flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it  
  9. devices     list all connected devices  
  10. reboot     reboot device normally  
  11. reboot-bootloader   reboot device into bootloader  
  12. options:  
  13. -w     erase userdata and cache  
  14. -s <serial number>   specify device serial number  
  15. -p <product>    specify product name  
  16. -c <cmdline>    override kernel commandline  
  17. -i <vendor id>    specify a custom USB vendor id 
二. 具体分析

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




 类似资料:

相关阅读

相关文章

相关问答