目录
- fastboot简介
- 1.android手机分裂
- 2.fastboot命令
- 2.1 查看fastboot命令的帮助
- 2.2 分区:fastboot erase <partition>
- 2.3 烧写指定分区:fastboot flash <partition> [*.img]
- 2.4 烧写所有分区:fastboot flashall
- 2.5 一次烧写boot,system,recovery分区:fastboot update <*.zip>
- 2.6重启手机
- 2.7 以指定的img或bin启动系统,通常用于调试
- 2.8 更新eMMC分区
- 2.9 退出fastboot
- 2.10 获取信息客户端(手机端)
- 2.11 如何查看fastboot是否成功
- 2.12 u-boot中定义的偏移和javascript地址
- 2.13 文件大小限制
fastboot简介
fastboot是Android快速升级的一种方法,fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。
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
1.Android手机分裂
分区都可以被烧写,并有相应的img文件:
- 引导启动画面区(splash1)
- 数据恢复区(recovery)
- 内核区(boot)
- 系统区(system)
- 数据缓存区(cache)
- 用户数据区(userdata)
2.fastboot命令
2.1 查看fastboot命令的帮助
输入fastboot,显示如下信息:
update <filename> 从 update.zip 刷新设备 flashall flash boot + recovery + system flash <partition> [ <filename> ] 将文件写入 flash 分区 erase <partition> 擦除 flash 分区 getvar <variable> 显示引导加载程序变量 boot <kernel> [ <ramdisk> ] 下载并启动内核 flash:raw boot <kernel> [ <ramdisk> ] 创建 bootimage 并刷新 设备 列出所有连接的设备 正常重启重启设备 reboot-bootloader编程 将设备重启到引导加载程序 选项: -w 擦除用户数据和缓存 -s <serial number> 指定设备序列号 -p <product> 指定产品名称 -c <cmdline> 覆盖内核命令行 -i <vendor id> 指定自定义 USB 供应商 id -b <base_addr > 指定自定义内核基地址 -n <page size> 指定nand 页面大小。默认值:2048</span></span></span></span>
2.2 分区:fastboot erase <partition>
sudo fastboot 擦除引导 xx/boot.img $ sudo fastboot 擦除系统 xx/system.img $ sudo fastboot 擦除用户数据 xx/userdata.img $ sudo fastboot 擦除缓存 xx/cache.img</span></span></span></span>
2.3 烧写指定分区:fastboot flash <partition> [*.img]
$ sudo fastboot flash boot path-to-kernel/boot.img $ sudo fastboot flash zimage path-to-kernel/arch/arm/boot/zImage $ sudo fastboot flash system path-to-system/system.img $ sudo fastboot flash splash1引导画面</span></span></span></span>
2.4 烧写所有分区:fastboot flashall
注意:此命令会在当前中查找所有img文件,将这些img烧写到所有目录的文件中,然后重新启动手机。
sudo fastboot flashall
2.5 一次烧写boot,system,recovery分区:fastboot updatJiNVopdjYe <*.zip>
创建包含boot.img,system.img,recovery.img文件的update.zip。
sudo fastboot update update.zip
2.6重启手机
sudo 快速启动重启
2.7 以指定的img或bin启动系统,通常用于调试
除了刷入 eMMC,Fastboot 还可以用来从已经刷入 eMMC 的文件启动。为此,请在目标上启动 Fastboot,然后在主机 PC 上运行命令,例如启动 u-boot:
sudo fastboot 引导 u-boot.bin
2.8 更新eMMC分区
eMMC 中的区域被命名。它们的偏移量和大小在您正在使用的板目录的 mmc.c 文件中的 u-boot 中设置。例如,对于 Blaze,此文件为 u-boot/board/omap4430sdp/mmc.c:
static struct partition partitions[] = { { "-", }, { "xloader", }, { "bootloader", }, /* "misc" partitions is required for recovery */ { "misc", }, { " -", }, { "efs", }, { "recovery", * }, { "boot", * }, { "system", * }, { "cache", * }, { "userdata", } , { , }, };
修改上面的内容,然后执行:
sudo fhttp://www.devze.comastboot ojsem 格式
2.9 退出fastboot
- 拔usb
- Ctrl+C
- 辞职命令
#fastboot 100 或 #fastboot </span></span>
2.10 获取信息客户端(手机端)
sudo fastboot getvar version:version-bootloader:version-baseband:product:serialno:secure
getvar 后和参数使用:单独使用,它们的含义如下:
版本 | 客户端支持的fastboot协议版本 |
版本引导加载程序 | Bootloader的版本号 |
版本基带 | 基带版本 |
产品 | 产品名称 |
序列号 | 产品序列号 |
安全的 | 返回yes 表示在刷机时需要获取签名 |
2.11 如何查看fastboot是否成功
fastboot通常支持环境nand flash时,fastboot为变量写入中,命名量和大小和写入环境变量
- <分区名称>_nand_offset
- <分区名称>_nand_size
例如,内核烧写完成后printenv可以看到:
- kernel_nand_offset=0x140000
- kernel_nand_size=0x1f70000
2.12 u-boot中定义的偏移和地址
姓名 | 抵消 | 尺寸 | 文件类型 | 普通文件 |
加载器 | 0x00000000 | 0x00080000 | xloader 二进制文件 | MLO |
引导加载程序 | 0x00080000 | 0x00180000 | uboot 二进制 | u-boot.bin |
环境 | 0x001C0000 | 0x00040000 | 文本文件 | 要设置的变量列表 |
核心 | 0x00200000 | 0x01D00000 | 内核或内核+ ramdisk | uImage、uMulti |
系统 | 0x02000000 | 0x0A000000 | yaffs2 | 系统.img |
用户数据 | 0x0C000000 | 0x02000000 | yaffs2 | 用户数据.img |
缓存 | 0x0E000000 | 0x02000000 | yaffs2 | ? |
fastboot重用内核的nand地址分配,并且对象是可以变化的方式,但是xloader、bootloader、环境地址是不变的。
2.13 文件大小限制
最大下载文件大小为240M。
到此这篇关于Android烧录指令fastboot简介的文章就介绍到这了,更多相关android fastboot命令内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论