Fastboot功能详解

         Android的Fastboot模式相信熟悉android平台以及广大刷机爱好者都不会陌生,fastboot是一种比recovery更底层但是比低格高级的刷机模式。用fastboot模式来进行手机中各分区img的更新或者获取手机某些信息非常方便,因为不需要启动内核。进入fastboot模式的方式各个手机厂家互不相同,有的按着上键插USB线可以进入,有的按着下键插USB线进入,有的按着电源键和上键或下键进入。不管采用什么方式进入,所采用的fastboot协议是相同的。

        进入fastboot之后,要想通过PC跟手机进行通讯完成刷机等功能,PC机上必须也要有一个fastboot的可执行文件,而PC机上的这个可执行文件的生成方式可以通过android平台代码自身编译生成,代码路径在system/core/fastboot,里面的最主要的一个文件就是fastboot.cpp,main函数实现就在这个文件中。

          仔细阅读这个cpp文件我们可以发现fastboot默认支持的命令如下:

usage: fastboot [ <option> ] <command>
commands:
  update <filename>                                  reflash device from update.zip
  flashall                                                     flash boot + recovery + system
  flash <partition> [ <filename> ]              write a file to a flash partition
  erase <partition>                                     erase a flash partition
  format <partition>                                   format a flash partition
  getvar <variable>                                    display a bootloader variable
  boot <kernel> [ <ramdisk> ]                   download and boot kernel
  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
  devices                                                     list all connected devices
  continue                                                    continue with autoboot
  reboot                                                       reboot device normally
  reboot-bootloader                                      reboot device into bootloader
  help                                                           show this help message
options:
  -w                                       erase userdata and cache (and format if supported by partition type)
  -u                                        do not first erase partition before formatting
  -s <specific device>             specify device serial number or path to device port
  -l                                         with "devices", lists device paths
  -p <product>                             specify product name
  -c <cmdline>                             override kernel commandline
  -i <vendor id>                           specify a custom USB vendor id
  -b <base_addr>                         specify a custom kernel base address
  -n <page size>                           specify the nand page size. default: 2048
  -S <size>[K|M|G]                       automatically sparse files greater than size.  0 to disable

 

在命令行中输入fastboot -h就会打印出这些信息。另外fastboot还支持用户扩展命令,但是扩展的命令格式必须如下面所示:fastboot oem command args,也就是说扩展的命令必须要以oem开头,否则即使手机侧用fastboot_register注册成功了命令,但是通过PC侧fastboot输入该命令时也不会发到手机侧,而是直接返回help的内容。

        那是不是就不能扩展别的命令了呢,其实也不是,但是需要修改fastboot.cpp的代码,并且重新编译PC侧的fastboot工具。PC侧的fastboot工具分为linux下的工具和windows下的工具两种。linux下用的工具很简单,我们只要按照模块编译的方法在android版本的根目录下输入make fastboot就可以了,编译之后生产的fastboot可执行文件位于out/host/linux-x86/bin/fastboot目录下,这个只能在linux环境下执行。如果需要编译出能在windows环境下执行的fastboot比较麻烦,步骤如下:

        1.按照交叉编译环境mingw32

        2.设置编译参数和环境变量。

        3.编译:make USE_MINGW=y fastboot。

编译出的文件存放在out/host/windows-x86/bin目录下。

windows下的fastboot.exe工具很小只有几百K,但是linux下的fastboot有8MB左右。一般SDK包里都包含windows下的fastboot.exe工具,当然这个fastboot支持的命令只有默认的那些。

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运行 清除fastboot进磁盘操作.bat 接着电脑自动安装驱动(不会自动安装的驱动路径在MiFlash安装目录下) 这时就进入磁盘模式了,接着就可以用DiskGenius,分区助手专业版和MiFlash进行操作了(还可以用DiskGenius做数据备份) 用MiFlash刷机(目的是为了还原删除的aboot也可以用我提供的备份还原)刷完后关MiFlash,可别拔掉手机哦 呵呵 补充:没用miflash刷机的一定要要还原aboot分区要不后面改好了启动不来(一定要刷机要不你自己备份的也是清除的分区里面没数据是没用的) 3. 打开DiskGenius要操作的磁盘是QualcommMMCStorage(里面有27个分区的就是) 认为有必要的备份好整个分区表和分区(极力推荐备份)。 也可以用我提供的备份(有些分区是各手机私有的不能用我的备份分别是ssd dbi bk1 bk2 modemst1 modemst2 fsc bk3 fsg bk4 bk5 这11个分区同时也是不可动的)。 以下是两种分区方法 选其中一种即可 1。 用分区助手无损移动分区 2。 用DiskGenius删分区再重建 第一种: 方法删除 system1 boot1 modem1 userdata四个分区就可以了。(认为有必要的懂得可以删其他分区) 用分区助手移动分区把未分配空间集合在右边也就是userdata分区那一边保存修改(提交)然后用DiskGenius新建分区userdata把剩下的空间都给它 文件系统类型linux data partion 勾上对齐到下列扇区数的整数倍数值是8 详细里面的分区名userdata 再点上无盘符。 分区建好保存更改(分区名一定要是userdata)。 换到分区助手格式化userdata分区 格式ext3其他默认(可以开机后进fastboot用命令格式化此分区命令是fastboot format userdata)。
fastboot烧机命令是一种在Android设备上使用fastboot工具进行固件刷写的方法。它允许用户在恢复模式下通过电脑将固件或系统映像文件烧写到设备的存储器中。 使用fastboot烧机命令需要先将Android设备进入fastboot模式,通常通过同时按住设备的某些物理按键实现。一旦设备进入fastboot模式,就可以通过电脑上的命令行工具来执行fastboot烧机命令。 一些常用的fastboot烧机命令包括: 1. fastboot devices: 用于确认设备是否成功连接到电脑上,并获取设备序列号。 2. fastboot flash <partition> <filename>: 用于将指定的映像文件烧写到设备的指定分区中。例如,"fastboot flash system system.img"会将system.img文件烧写到设备的系统分区中。 3. fastboot erase <partition>: 用于擦除设备上的指定分区。例如,"fastboot erase cache"会擦除设备的缓存分区。 4. fastboot reboot: 用于重新启动设备。 5. fastboot oem <command>: 用于执行设备制造商特定的命令。 需要注意的是,使用fastboot烧机命令需要小心谨慎,因为错误的操作可能会导致设备损坏或数据丢失。在执行这些命令之前,建议先备份设备的关键数据。此外,确保使用正确的固件映像文件,并且遵循官方或可靠来源提供的具体操作步骤。 总结起来,fastboot烧机命令是一种在Android设备上使用fastboot工具刷写固件的方法,它提供了一系列命令来进行设备连接、分区烧写和设备控制等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值