【转载】android开发笔记之fastboot的使用

fastboot命令大全

在终端中,我们输入:

fastboot
 
 

    这里写图片描述

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

    android分区

    分区作用
    splash1开机画面,使用Nandroid backup备份系统后的文件为splash1.img
    recovery该分区是恢复模式(即开机按Home+power进入的界面),使用Nandroid backup备份为recovery.img
    boot内核启动分区,使用Nandroid backup备份为boot.img
    systemAndroid系统部分,目录表示为/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  <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的使用

                            • 1
                              点赞
                            • 3
                              收藏
                              觉得还不错? 一键收藏
                            • 0
                              评论

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

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

                            请填写红包祝福语或标题

                            红包个数最小为10个

                            红包金额最低5元

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

                            抵扣说明:

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

                            余额充值