【转载】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 简单脚本:

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

              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密码,就可以直接刷机了。

                  扫描二维码关注公众号,回复: 11077478 查看本文章

                  一位同事写的的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  <product name>\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 <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中的源代码。

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

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

                          adb reboot edl
                            
                            

                            转自:android开发笔记之fastboot的使用

                            发布了91 篇原创文章 · 获赞 17 · 访问量 5万+

                            猜你喜欢

                            转载自blog.csdn.net/qq_23327993/article/details/104531185