linux安装安卓fastboot,Android的fastboot协议
fastboot协议是PC通过USB与手机上的bootloader通信的协议。适用于Linux,Windows,OSX等平台。
基本配置要求:
1、USB连接PC与手机。
2、对于high-speec USB,包的最大尺寸必须是512byte.对于full-speed USB,包的最大尺寸必须是64byte。
3、协议由PC端驱动。
协议传输过程如下:
1、PC向手机发送一个命令,命令由ASCII字符组成,必须存在在一个不大于64byte的包里。
2、手机向PC响应一个不大于64byte的包。包的最前面四个byte是“OKAY”、“FAIL”、“DATA”、“INFO”中的一个。后面如果还有byte,包含就是ASCII信息。下面具体解释
INFO:后面的60个byte代表的信息被显示完成后,跳到#2继续执行。
FAIL:命令执行失败。后面的60个byte是需要显示给用户的失败信息。
OKAY:命令执行成功。跳到#1.
DATA:命令执行成功,开始进入数据传输阶段。一个DATA响应包的大小是12byte,通常是DATA00000000这样的形式,后面的8个数字代表的要传输的数据包的总大小。
3、如果#2时,PC收到的是DATA命令的话,就开始传输数据。0byte数据会被忽略。当#2指示的数据大小被传输完成时,数据传输结束。
例子:
Host: "getvar:version" 查看版本号
Client: "OKAY0.4" 返回版本号
Host: "getvar:nonexistant" 查看一些未定义的变量
Client: “OKAY” 返回值“”
Host: “download:00001234” 请求0x1234个byte的数据
Client: "DATA00001234" 准备好接收数据
Host: "< 0x1234 bytes >" 发送数据
Client "OKAY" 成功
Host: "flash:bootloader" 把数据刷到bootloader中。
Client "INFOerasinig flash" 指明状态或进度
"INFOwriting flash"
"OKAY" 成功
Host: "powerdown" 发送一个关机命令
Client: "FAILunknown command"失败
命令手册:
1、命令参数格式遵守printf-style
2、命令都是ASCII字符串,不能包含引号,不用以0byte结尾
3、本文档中的命令都是以小写字母开头,为了兼容,OEM的命令不要以小写字母开头。
"getvar:%s"
从bootloader读取一个配置/版本变量。变量值跟在OKAY响应后面返回。
“download:%08x”
把数据写入内存,这些数据会被后面执行的“boot”,"ramdisk","flash"等使用。Client的RAM如果有足够的空间的话,会返回一个“DATA%08x”。否则返回“FAIL”。数据大小会被记录下来。
"verify:%08x"
发送一个数字签名来验证下载的数据。如果bootloader当前是“secure”模式,签名会被使用。如果是“flash”和“boot”模式的话,签名被忽略。
"flash:%s"
把前面下载的image写到指定名字的分区中。
"erase:%s"
擦除指定名字的分区。
"boot"
前面下载的数据是一个boot.imgand should be booted according to the normal
procedure for a boot.img
"continue"
Continue booting as normal (if possible)
"reboot"
重启设备
"reboot-bootloader"
重启并回到bootloader,这对那些需要先升级bootloader才能升级其它分区的升级过程很有用。
"powerdown"
关闭设备。
Client端的变量
"getvar:%s"命令可以读一些client端的变量。这些变量通常会可以告诉我们设备以及安装在设备上的软件的信息。目前已经定义的变量如下:
version
当前支持的FastBoot协议版本,对这个文档来说,它的值应该是“0.3”
version-bootloader
Bootloader的版本号
version-baseband
Baseband软件的版本
product
产品的名字
serialno
产品的序列号(serial number)
secure
如果值是“yes”,表示这是一个secure的bootloader,在安装或者boot那些image之前需要一个签名
另外,这些变量的名字都是以小写字母开头,为了兼容性考虑,OEM的变量名字不要以小写字母开头。
linux安装安卓fastboot,Android的fastboot协议相关推荐
- 安装安卓(Android)x86系统
1.windows server 2008 r2 系统没有显卡目前对夜神模拟器不支持安装,会报显卡版本太低 2.windows server 2008 r2 系统没有显卡安装逍遥安卓模拟器,可以安装上 ...
- VMware虚拟机安装安卓(Android)x86系统图文教程最新版
来源:合肥电脑维修作者:老刘 在电脑上安装的安卓系统称为"(Android)x86",下载地址为:http://www.android-x86.org/download/,目前最新 ...
- linux与安卓系统目录,android系统架构及源码目录结构
1. android系统架构: android系统架构采用了分层架构的思想,如下图所示,从上到下共4层,分别为:应用程序层.应用程序框架层.系统库和android运行时层.linux内核层. 每层功能 ...
- linux chroot安卓,在Android设备上安装 GNU/Linux Chroot 环境
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 3-安装与配置系统 3-Install and Configure system 因为是chroot环境,系统不用启动,所以过程比安装ARCH(x86)更 ...
- arm linux运行安卓app,Android x86 下运行纯ARM版APP
Android x86 默认不带houdini,运行纯ARM版会提示: 很抱歉,"xxxx"已停止运行 设置->应用兼容性->打开 终端模拟器 $ su # enabl ...
- 深度linux安装安卓软件,Ubuntu 用户安装深度软件中心教程
Linux Deepin 11.12 搭载最新版深度软件中心 2.0.目前已支持简体中文.繁体中文.英文三个语言版本.深度软件中心2.0 明显功能有:一键安装.升级软件,支持皮肤更换.并行下载,智能清 ...
- ME860安装安卓电子市场(android market)
安装过程: 我的国行ME860没有预装电子市场,有些国外的好软件无法装入我的手机,很痛苦,终于花了一些时间,成功安装电子市场.这里大致总结一下安装要点,1. 必须先安装Google service f ...
- linux和安卓交互,Android中webview和js之间的交互及注意事项
1.Android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true ...
- ubuntu系统安装安卓模拟器(Android SDK)的方法
ubuntu或者别的linux系统安装安卓模拟器(Android SDK)的方法跟Windows差不多,今天安卓部落就教大家怎么样在ubuntu环境下安装安卓模拟器. 首先下载Android SDK ...
- vmware 快照用关机吗_vmware安装安卓
1.镜像下载地址 Porting Android to x86www.android-x86.org 2.安装步骤 VMware虚拟机安装安卓(Android)x86系统图文教程最新版www.ji ...
最新文章
- 华为手机微信网络连接到服务器失败怎么办,微信H5支付在华为手机里报错 网络环境未能通过安全验证,请稍后再试 怎么解决啊 试了好多方法也不行...
- EasyExcel 2 上传 下载
- sql count用法_SQL是一门手艺
- Linux赋予普通用户root权限
- 什么是医疗物联网(IoMT)?
- RelativeLayout重要属性
- div 隐藏_div的position属性
- 酷炫星空公告维护页源码
- strcpy和strcat
- LuaForUnity7:Lua表与元表
- Java-----exe
- 关于禅道项目管理软件
- IDEA 文件对比功能图解
- Python 和 奥数 — 同余法求数值
- 使用阿里云镜像加速器--docker
- 解决System进程占用80端口的问题
- 如何写出成功的商业计划书
- iOS打开应用提示未受信任的企业级开发者
- java计算机毕业设计快递配送平台源码+mysql数据库+系统+lw文档+部署
- 【Pygame小游戏】超好玩的——Python版“愤怒的小鸟”,我能玩上一整天(附源码)