Android系统分区介绍
hboot——系统开机引导类似电脑BIOS,这块刷错手机就会变成砖
radio——通讯模块、基带、WIFI、Bluetooth等衔接硬件的驱动软件
recovery——系统故障时负责恢复
boot——Linux嵌入式系统内核
system——系统文件、应用
cache——系统运行时产生的缓存
userdata——用户使用APP产生的缓存数据
首先需要准备好刷机包,可以是自己编译的,也可以是从别处拷贝的,但一定要确保刷机包适用于你的 Android 设备。然后解压刷机包,解压后我们可以得到 boot.img、recovery.img、system.img、bootloader 文件,正是这些文件构成了 Android 设备的系统。
让设备进入 fastboot 环境。有 2 种方法:
执行命令 adb reboot bootloader
或者
同时按住 增加音量 和 电源 键开机。
【命令执行流程】
在设备进入到 fastboot 环境后,根据需求执行下面的命令进行刷机:
fastboot flashing unlock # 设备解锁,开始刷机
fastboot flash boot boot.img # 刷入 boot 分区。如果修改了 kernel 代码,则应该刷入此分区以生效
fastboot flash recovery recovery.img # 刷入 recovery 分区
fastboot flash country country.img # 刷入 country 分区。这个分区是开发组自己划分的,别的 Android 设备上不一定有
fastboot flash system system.img # 刷入 system 分区。如果修改的代码会影响 out/system/ 路径下生成的文件,则应该刷入此分区以生效
fastboot flash bootloader bootloader # 刷入 bootloader
fastboot erase frp # 擦除 frp 分区,frp 即 Factory Reset Protection,用于防止用户信息在手机丢失后外泄
fastboot format data # 格式化 data 分区
fastboot flashing lock # 设备上锁,刷机完毕
fastboot continue # 自动重启设备
fastboot -S 300M flash system system.img //解决fastboot 刷 system.img 尺寸限制问题
adb reboot bootloader -- 进入fastboot模式
fastboot devices -- 查看设备是否连上
adb reboot recovery 手机会重启到recovery卡刷模式
adb reboot bootloader 手机会重启到bootloader(fastboot)线刷模式
adb reboot edl 手机会重启到9008刷机模式!仅限高通部分机型!慎用!
解锁bootloader和上锁: fastboot oem lock 和 fastboot oem unlock
adb wait-for-device #等待设备
adb reboot-bootloader #这个是重启到bootloader界面 默认是fastboot。可以先重启到这里再刷入boot.img
fastboot flash boot boot.img #这个是刷入boot的命令。官解的要手动刷一次。
fastboot flash recovery recovery.img #刷入recovery 已有recovery的可以跳过。
fastboot erase boot #擦除boot分区
以下两个是一样的 有加-w 跟 没有加-w 的区别
fastboot erase system -w #擦除system分区 擦除 userdata分区和cache分区
fastboot erase system #擦除system分区
fastboot erase cache #擦除cache分区
fastboot erase userdata #擦除userdata分区
fastboot update update.zip #将update.zip刷入
fastboot reboot #重启手机
1.Fastboot简介
Fastboot是Android快速升级的一种方法,Fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。
Fastboot客户端是作为Android系统编译的一部分,编译后位于./out/host/Linux-x86/bin/fastboot目录下。
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
fastboot erase config
一次烧写boot,system,recovery分区:
(1)创建包含boot.img,system.img,recovery.img文件的zip包。
(2)执行:fastboot update {*.zip}
烧写开机画面:
fastboot flash splash1 开机画面
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之一,随后跟着是信息或数数据。
2.7 清空分区
fastboot erase {partition} 例:fastboot erase boot或fastboot erase system等。
fastboot erase boot
fastboot erase system
fastboot erase data
fastboot erase cache
上面的命令也可以简化成一条命令
fastboot erase system -w
Android 擦除nv数据:
adb reboot bootloader
fastboot erase fsg
fastboot erase fsc
fastboot erase modemst1 ///擦除mdem文件
fastboot erase modemst2 ///擦除mdem文件
刷入新的modem文件
android 擦除nv数据:
adb reboot bootloader
fastboot erase fsg
fastboot erase fsc
fastboot erase modemst1
fastboot erase modemst2
---------------------------------------
手机刷机方式:
打开 USB调试,使用命令
adb reboot edl (进入9008模式),
方法2,当有时刷了一个有问题的版本,只能进入fastboot却不能连接adb时,可用下面这方式(该方法本人未成功过,一直提示找不到该命令):
C:\Users\xxx>fastboot oem edl
...
FAILED (remote: unknown command)
finished. total time: 0.001s
进入手机fastboot模式,执行命令
fastboot oem edl
进入 高通模式9008模式 时,手机黑屏,但是连接上电脑有反应,设备管理器 可以见到 一台串口为9008的设备
方法三:
确保手机已处于关机状态中,同时一起按住 音量上键 与 音量下键 ,然后连接USB数据线,当端口识别正确即可进入9008模式(),