• Fastboot简介[转载]


    1.Fastboot简介

    Fastboot是Android快速升级的一种方法,Fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。

    在uboot运行过程中检测按键的按下(如power + vol-),就运行run_command("fastboot",0);命令,这样在运行uboot过程中只要你按下这三个键的组合键就可以进入fastboot模式进行升级或者其他的操作

     

    Fastboot客户端是作为Android系统编译的一部分,编译后位于./out/host/linux-x86/bin/fastboot目录下。

    Fastboot命令实例:sudo fastboot flash kernel path-to-kernel/uImage

    烧写rootfs类似:sudo fastboot flash system path-to-system/system.img

    2.命令

    2.1 升级系统

    sudo fastboot flash bootloader u-boot.bin
    sudo fastboot flash kernel uImage
    sudo fastboot flash system system.img
    sudo fastboot flash userdata userdata.img
    sudo fastboot flash ramdisk ramdisk-uboot.img
    sudo fastboot erase cache

    2.2 重启系统

    sudo fastboot reboot

    2.3 不烧写flash情况下调试

    sudo fastboot boot uImage 或者u-boot.bin

    2.4 查看版本号

    sudo fastboot getver:version

    2.5 复位到bootloader

    sudo fastboot reboot-bootloader

    2.6 命令格式

    主机端发送字符串的命令,字符串小于等于64个字节,客户端首先返回四个字节的内容,是OKAY、FAIL、DATA、INFO之一,随后跟着是信息或数数据。

    3.支持的参数

    偏移和地址在u-boot中定义,要想使用好fastboot,就必须要知道参数名称与文件的对应关系。

     

    name offset size
    xloader 0x00000000 0x00080000
    bootloader 0x00080000 0x00180000
    environment 0x001C0000 0x00040000
    kernel 0x00200000 0x01D00000
    system 0x02000000 0x0A000000
    userdata 0x0C000000 0x02000000
    cache 0x0E000000 0x02000000
    name type of file usual file
    xloader xloader binary MLO
    bootloader uboot binary u-boot.bin
    environment text file list of variables to set
    kernel kernel or kernel + ramdisk uImage, uMulti
    system yaffs2 system.img
    userdata yaffs2 userdata.img
    cache yaffs2 ?

     

    4.其他功能

    4.1环境变量

    fastboot支持环境变量文件,通常在fastboot烧写nand flash时,会将偏移量和大小写入环境变量中,命名格式为:

    <partition name>_nand_offset
    <partition name>_nand_size

    例如,内核烧写完成后printenv可以看到:

    kernel_nand_offset=0x140000
    kernel_nand_size=0x1f70000

    4.2查看USB设备

    查看连接到OTG的USB设备情况,lsusb:

    Bus 008 Device 030: ID 0451:cafe Texas Instruments, Inc. <----- fastboot

    更多细节查看cat /proc/bus/usb/devices

    4.3 静态模块地址

    fastboot重用内核的nand地址分配方式,并且大部分是可以变化的,但是下面列出来的这些地址是不变的。

    name                 offset                 size

    xloader          0x00000000      0x00080000

    bootloader     0x00080000      0x00180000

    environment  0x001C0000      0x00040000

    4.4 文件大小限制

    最大下载文件大小为240M。

    参考文献

    1. Android Fastboot:http://www.omappedia.org/wiki/Android_Fastboot#Updating_system_image_on_NAND

    2. fastboot_protocol.txt

  • 相关阅读:
    一个ball例程带你进入 Halcon 世界
    新公民读本
    open_window()到底做了什么?
    duilib学习领悟(4)
    duilib学习领悟(3)
    duilib学习领悟(2)
    通过Vue路由传参的两种方式及Vue组件中接收参数的方式
    彻底研透javascript中的对象及面向对象编程
    thinkphp5中使用phpmailer实现发送邮件功能
    小程序和ThinkPHP5结合实现登录状态(含代码)
  • 原文地址:https://www.cnblogs.com/chyl411/p/4518518.html
Copyright © 2020-2023  润新知