android开发笔记之fastboot的使用

fastboot命令大全

在终端中。我们输入:

fastboot

这里写图片描写叙述

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

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 简单脚本:

为了避免一个一个命令的输入。很的麻烦,我写了一个很easy的脚本:

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' 

再输入rootpassword。就能够直接刷机了。

一位同事写的的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 "*33[31m $BUILD_FILE  <product name>33[0m*"
    echo "*                                                                                                    *"
    echo "******************************************************************************************************"
    echo ""

    echo "Build product name are:"
    echo -e "33[31m1.l551033[0m"
    echo -e "33[31m2.l532033[0m"
    echo -e "33[31m2.l901033[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 <target_root>/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中的源码。

直接进入9008port,下载模式

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

adb reboot edl
原文地址:https://www.cnblogs.com/yutingliuyl/p/7241736.html