android开发笔记之fastboot的使用

fastboot命令大全

在终端中,我们输入:

fastboot

android开发笔记之fastboot的使用_第1张图片

对于这些命令,我不解释,慢慢使用,慢慢的就会明白是怎么回事了。

android分区

分区 作用
splash1 开机画面,使用Nandroid backup备份系统后的文件为splash1.img
recovery 该分区是恢复模式(即开机按Home+power进入的界面),使用Nandroid backup备份为recovery.img
boot 内核启动分区,使用Nandroid backup备份为boot.img
system Android系统部分,目录表示为/system,通常为只读,使用Nandroid backup备份为system.img
cache 缓存文件夹,目录表示为/cache,事实上除了T-mobile的OTA更新外,别无用处,使用Nandroid backup备份为cache.img
userdata 用户安装的软件以及各种数据,目录为/data,使用Nandroid backup备份为data.img

将fastboot复制到/usr/bin/目录

以后我们就可以直接使用fastboot命令了,而不需要每次都进入到fastboot目录下,这个非常的方便:
(fastboot文件目录:baselinetwo/LINUX/android/out/host/linux-x86/bin)
将fastboot放到usr/bin目录下的命令:

sudo cp fastboot /usr/bin/

烧录boot.img

有时候,我们user版本的软件出现了一些bug,但是我们要对这个bug进行调试分析,但是要保留bug现场的数据。那么这个时候我们可以使用fastboot将eng版本的boot.img文件烧入到手机中,就可以进行调试分析,并且还不会删除手机现在的内容。

adb reboot bootloader
sudo ./fastboot flash boot out/target/product/l9010/boot.img
sudo ./fastboot reboot

单独烧录fsg.img的一个样例

烧录fsg.img前要清除fsg,fsc,modemst1,modemst2的数据,再刷fsg.img

adb reboot bootloader
fastboot erase fsg
fastboot erase fsc
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.img
fastboot reboot

刷开机LOGO图片

//网上流传的命令
sudo fastboot flash splash1 splash.bin
//高通M8909平台生效命令
sudo fastboot flash splash splash.bin

刷机时的几个关键命令

adb reboot bootloader
fastboot devices

fastboot flash aboot out/target/product/$BUILD_PROJECT_NAME/emmc_appsboot.mbn
fastboot flash boot out/target/product/$BUILD_PROJECT_NAME/boot.img
fastboot flash system out/target/product/$BUILD_PROJECT_NAME/system.img
fastboot flash userdata out/target/product/$BUILD_PROJECT_NAME/userdata.img
fastboot flash persist out/target/product/$BUILD_PROJECT_NAME/persist.img
fastboot flash recovery out/target/product/$BUILD_PROJECT_NAME/recovery.img

fastboot reboot

fastboot 简单脚本:

为了避免一个一个命令的输入,非常的麻烦,我写了一个非常简单的脚本:

fastboot_hexiaoming.sh

adb reboot bootloader
sudo fastboot devices

sudo fastboot flash aboot emmc_appsboot.mbn
sudo fastboot flash boot boot.img
sudo fastboot flash system system.img
sudo fastboot flash userdata userdata.img
sudo fastboot flash persist persist.img
sudo fastboot flash recovery recovery.img

sudo fastboot reboot

这个脚本的使用方式:
我到进入到目录:baselinetwo/LINUX/android/out/target/product/project*****/

执行命令:

source '/home/android/desttop/fastboot_hexiaoming.sh' 

再输入root密码,就可以直接刷机了。

一位同事写的的fastboot脚本

fastboot_load.sh

#!/bin/sh

SRC_DIR=$PWD
BUILD_FILE=$0
BUILD_PROJECT_NAME=$1

BUILD_BOOT_DIR=$SRC_DIR/boot_images/build/ms
BUILD_MODEM_DIR=$SRC_DIR/modem_proc/build/ms
BUILD_RPM_DIR=$SRC_DIR/rpm_proc/build
BUILD_TZ_DIR=$SRC_DIR/trustzone_images/build/ms
BUILD_AP_DIR=$SRC_DIR/LINUX/android
BUILD_COMMON_DIR=$SRC_DIR/common/build
BUILD_MODEM_SRC_DIR=$SRC_DIR/modem_proc

function usage()
{
    echo ""

    echo "******************************************************************************************************"
    echo "* Usage:                                                                                             *"
    echo -e "*\033[31m $BUILD_FILE  \033[0m*"
    echo "*                                                                                                    *"
    echo "******************************************************************************************************"
    echo ""

    echo "Build product name are:"
    echo -e "\033[31m1.l5510\033[0m"
    echo -e "\033[31m2.l5320\033[0m"
    echo -e "\033[31m2.l9010\033[0m"
    echo ""
}

if [ -z "$BUILD_PROJECT_NAME" ] ; then
    usage;
else # whole

if [ $BUILD_PROJECT_NAME = "l5320" ] ; then
echo 'it is l5320'
fi

adb reboot bootloader
fastboot devices

fastboot flash aboot out/target/product/$BUILD_PROJECT_NAME/emmc_appsboot.mbn
fastboot flash boot out/target/product/$BUILD_PROJECT_NAME/boot.img
fastboot flash system out/target/product/$BUILD_PROJECT_NAME/system.img
fastboot flash userdata out/target/product/$BUILD_PROJECT_NAME/userdata.img
fastboot flash persist out/target/product/$BUILD_PROJECT_NAME/persist.img
fastboot flash recovery out/target/product/$BUILD_PROJECT_NAME/recovery.img

fastboot reboot
fi #whole

脚本使用命令:
我们先进入到目录:codebase/cts_9010/baselinetwo/
然后执行命令:

sudo ./fastboot_load.sh l9010

fastboot刷eMMc

直接使用系统脚本

1.将USB线插入目标终端。确保手机处于fastboot模式
2.在Linux上,运行以下命令:
sudo fastboot devices
将显示已注册终端的列表
3.一旦检测到终端,即可将二进制文件刷入到目标终端中。以下命令可以一次性运行所
有Fastboot步骤。

cd /common/build
fastboot_complete.py

fastboot命令

fastboot flash modem <path to NON-HLOS.bin> or <path to APQ.bin>
fastboot flash sbl1 <path to sbl1.mbn>
fastboot flash rpm <path to rpm.mbn>
fastboot flash tz <path to tz.mbn>
fastboot flash devcfg <path to devcfg.mbn>
fastboot flash dsp <path to adspso.bin>
fastboot flash adsp <path to dsp2.mbn>
fastboot flash aboot <path to emmc_appsboot.mbn >
fastboot flash cmnlib <path to cmnlib.mbn >
fastboot flash cmnlib64 <path to cmnlib64.mbn >
fastboot flash keymaster <path to keymaster.mbn >
fastboot flash boot <path to boot.img>
fastboot flash system <path to system.img>
fastboot flash userdata <path to userdata.img>
fastboot flash persist <path to persist.img>
fastboot flash recovery <path to recovery.img>
fastboot flash cache <path to cache.img>

要生成fastboot编程支持的所有fastboot分区的列表,可参见
LINUX/android/bootable/bootloader/lk/platform/msm_shared/mmc.c中的源代码。

直接进入9008端口,下载模式

刷机时,我们经常是要进入9008端口,下载模式,

adb reboot edl

你可能感兴趣的:(android开发笔记,android开发笔记,fastboot)