Files
doc/docs/tutorial-basics/adb-flash.md
2023-11-26 04:29:46 +08:00

85 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
sidebar_position: 3
---
# ADB 刷机(海思)
机智的利用前面两种方法的原理免拆盖子免短接免TTL线
利用安卓系统的后台linux终端的命令将制作的烧片器文件dd克隆进去覆盖整片emmc。
前提:
你必须破解这个盒子原来的安卓系统,或者按照网上的教程,刷入一个破解的安卓系统,
使用adb shell或者telnet能够登录安卓后台终端。
这些安卓的破解教程或者adb工具网上有很多应该还是大部分能找到的。
就是稍微有点折腾,没有前面两种方法来的干脆。
如果前面两种办法尝试无果的话,这个办法也很香。
## 准备工作
:::caution
- NAND闪存和高安板无法刷目前的固件
- 高安板常见于四川地区、河北地区、上海地区的hi3798mv100电信的盒子
- 对 adb 了解不足的小白谨慎使用此方式。是的,别瞎凑热闹!
:::
- 格式化为 fat32 文件系统的 U 盘,用于存放自制的【烧片器】;
- adb 程序,用于登录安卓后台;
- Hitool工具用于自制【烧片器】
## 进入安卓后台获取regname设备信息
![pic](pic/telnetinst.png)
在安卓后台终端输入以下命令,读取盒子的 reg name 管脚对应名称;
```bash
cat /dev/block/mmcblk0p1 | grep -a hi3798m
```
得到下图的数值: ```hi3798mv100 mdmo1g```
![pic](pic/grepreg.png)
注意,当你输入```cat /dev/block/mmcblk0p1```返回信息是没有这个文件或者文件夹时,
继续检查 ```ls -al /dev/block/``` ,假如看到有```mtdblk```字样,代表你这个盒子闪存是 NAND请放弃。
## 根据盒子型号自制烧片器
1.下载你对应的 reg 名称的 TTL 线刷固件包,解压;
2.打开海兔工具,选择芯片,选择烧写 emmc 选项卡,浏览打开解压包里的 XML 分区表文件;
3.按照下图例子,制作烧片器:
![pic](pic/hitool-mkflash.png)
:::tip
烧片器长度计算:最后一个分区的开始地址 + 最后一个分区的 img 文件的大小
比如610M + 616M = 1226M你就输入 ```1226M``` 字样即可。
:::
## 自制烧片器放到准备好的U盘
保存上面制作的emmc.flash文件并复制到前面fat32格式化后的U盘根目录
## 插到盒子上进去adb后台烧写
将带有 emmc.flash 的 U 盘插入盒子的 usb 口上;
在 adb shell 或者 telnet 登录安卓后台的窗口输入 df -h 查看u盘是否自动挂载好
如果发现有 sda1 存在,继续输入 ls -al /mnt/sda/sda1 查看是否存在 emmc.flash 文件;
![pic](pic/usbfile.png)
检查上面步骤都正确以后,输入以下命令进行烧写。
```bash
dd if=/mnt/sda/sda1/emmc.flash of=/dev/block/mmcblk0 bs=1024
```
![pic](pic/doflash.png)
## 注意事项
:::caution
注意: 整个烧写过程大概历时 5-8 分钟,全程不可关闭终端窗口,不可碰盒子和 u 盘。
注意:烧写完成后,直接手动断电重新上电启动,继续等待 3 分钟初始化。
注意:初始化完成后,到路由器查看重新分配的 IP 地址mac 是 00:11:22:33:44:55
注意:这是一次性的刷机,一旦 dd 命令执行就再也回不去了。如果刷入不正确的包只能TTL救砖
:::