Fastboot

本文介绍了Fastboot工具的基本概念及其在Android设备开发中的应用。Fastboot是Android生态系统的一部分,用于简化固件更新流程,支持多种命令操作,如更新、擦除分区、启动内核等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.1          Fastboot介绍

Fastboot是host端的工具,用于操作基于Android的target上的flash分区。 Fastboot与target上的bootloader之间使用fastboot protocol进行通讯,host和target之间需要通过USB线连接。Fastboot还可以用位于host上的kernel image和 root filesystem来启动。

Fastboot可以加快开发进度而不是启动速度,之所以能加快开发进度是因为fastboot可以使手动烧写nand的步骤变得自动化。

 

1.1.1  Fastboot模式

为了使用fastboot,需要把手机重启进入到一个特殊的”fastboot”模式。首先,把手机关机,然后通过按Magic Key来把手机启动到“fastboot”模式,例如在HTC的G1手机需要按”Home” + “Camera”键来启动fastboot模式。Fastboot的启动画面如下图所示。

 

Fastboot工具是Android的一部分,它会在编译Android的过程中被编译出来。它位于 <android source location>/out/host/{os}_{arch}/bin/fastboot。

1.1.2  Fastboot命令

在host上通过运行fastboot -h可以来了解fastboot所提供的功能。

$ fastboot -h

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

  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

  reboot                                   reboot device normally

  reboot-bootloader                        reboot device into bootloader

 

options:

  -w                                       erase userdata and cache

  -s <serial number>                       specify device serial number

  -p <product>                             specify product name

  -c <cmdline>                             override kernel commandline

  -i <vendor id>                           specify a custom USB vendor id

 

1)   重启G1:

$ fastboot reboot

 

2)   刷所有分区:以下命令会在当前目录寻找各种所有的image文件,并且在刷完所有分区后重启手机

$ fastboot flashall

 

3)   刷指定分区:

$ fastboot flash {partition} {file.img}

如:fastboot flash system path-to-system/system.img

 

4)   擦除分区:

$ fastboot erase {partition}

如:fastboot erase system

 

5)   刷完整的系统: 创建一个包含boot.img, system.img和recovery.img的zip压缩包,并且运行:

$ fastboot update {update.zip}

 

6)   刷自定义开机画面:(替代默认的白色"T-Mobile G1"画面):

$ fasboot flash splash1 mysplash.rgb565

 

注意开机画面文件需要一个特定格式,参考:Custom boot image

*通常需要完全恢复的操作是:

$ fastboot flash boot boot.img

$ fastboot flash system system.img

$ fastboot flash userdata data.img

$ fastboot flash recovery recovery.img

 

7)   从Host上启动

这个命令需要在Host上提供一个kernel image和一个rootfs image.

fastboot boot <kernel> [ <ramdisk> ]

 

Ex: fastboot boot linux-2.6/arch/arm/boot/zImage root-image/recovery.img-ramdisk.cpio.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值