Created
August 6, 2014 06:32
-
-
Save luftreich/703875db1dea9ef8daf8 to your computer and use it in GitHub Desktop.
amlogic recovery FAQ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 卡升级 | |
| Frank Chen | |
| 爱上简洁风格模板引子 | |
| 空片卡升级的过程 | |
| 启动卡启动 uboot | |
| 读取卡上 recovery.img ,启动 recovery.img | |
| recovery 读取参数文件 | |
| 读取升级包,校验升级包,校验成功,按照升级包的升级脚本,进行 | |
| 非空片升级的过程 | |
| 按 power 键 + 特殊键 | |
| 读取 nand 上 recovery.img ,启动 recovery.img | |
| 进入 recovery ,读取不到任何参数文件,停留在 recovery 界面,手工选择升级包升级 | |
| 读取升级包,校验升级包,校验成功,按照升级包的升级脚本,进行 | |
| 恢复出厂的过程 | |
| 在 /cache/recovery/command 这个文件中写入 --wipe_data | |
| reboot recovery | |
| 启动 nand 中的 recovery.img | |
| recovery 从 /cache/recovery/command 读取参数 | |
| format data 分区 | |
| 重启系统 | |
| OTA 升级的过程 | |
| 下载升级包到 /cache/update.zip | |
| 在 /cache/recovery/command 这个文件中写入 --update_package=/cache/update.zip | |
| reboot recovery | |
| 启动 nand 中的 recovery.img | |
| recovery 从 /cache/recovery/command 读取参数 | |
| 读取升级包,校验升级包,校验成功,按照升级包的升级脚本,进行 | |
| 重启系统什么是 recovery | |
| • | |
| • | |
| • | |
| recovery.img 的结构 | |
| recovery 的源代码 | |
| recovery 的编译过程recovery 中的流程获取参数 | |
| 1 依次从如下地方尝试获取参数 | |
| 命令参数 | |
| /cache/recovery/command | |
| uboot env recovery_command | |
| /sdcard/factory_update_param.aml | |
| /udisk/factory_update_param.aml | |
| 2 常见参数 | |
| update_package | |
| update_patch | |
| wipe_data | |
| wipe_cache | |
| usb_burning | |
| wipe_mediaupdate_package | |
| update package 的过程 | |
| verify package , 对签名做验证 | |
| 从升级包中解压出来 updater, 运行 updater | |
| updater 解析 package 中 script ,按照 script 支持 | |
| • | |
| • | |
| • | |
| 升级的结构 | |
| 升级包中的 updater script | |
| ext4/yaffs/ubifs 区别recovery 中的文件 | |
| • | |
| • | |
| • | |
| • | |
| • | |
| • | |
| fdisk.media.sh | |
| open_mass_storage.sh | |
| set_display_mode.sh | |
| fdisk.media.cmd | |
| fw_env.config | |
| recovery.fstabrecovery 手工命令 | |
| reboot recovery | |
| recovery --update_package=/sdcard/xxx.zip | |
| recovery --wipe_cache | |
| recovery --wipe_data | |
| recovery --wipe_media | |
| busybox cat /tmp/recovery.logUboot 中和升级相关的逻辑常见错误 | |
| 1 升级提示 UTC 错误 | |
| UTC 错误是由于 recovery.img 的编译时间比 update.zip 的编译时间晚 | |
| 2 升级提示 Verify 不过 | |
| 1)recovery.img 和升级包的密钥不对称,重新编译可以解决,编译前,把 build.prop 删 | |
| 除掉 | |
| 2)DDR 有问题 | |
| 3)Sdcard 有问题 | |
| 2),3) 一起做实验确认, # 可以把一个文件,在卡和 DDR 反复拷贝,如果多次拷贝后,检 | |
| 查差异 # 把一个文件,在内存中反复拷贝,如果两个实验,都出现多次拷贝后,文件 | |
| 出现不一致,说明 DDR 或者 Sdcard 有问题,如果概率一样,说明是 DDR 问题 | |
| 3 无法恢复出厂设置常见问题 | |
| 1 | |
| recovery 中日志是怎么打印的,为什么 printf 打印不出来? | |
| 解答: recovery 中的标准错误和标准输出,都被重定向了到 tmp/recovery.log 了,自己添加打印, | |
| 在控制台是看不到的,要 cat /tmp/recovery.log | |
| 2 | |
| 什么情况下 recovery 停止在菜单界面 | |
| 解答:当 recovery 有一个命令执行失败的时候,会停留在菜单界面 | |
| 3 | |
| 自己添加了一个程序,在 recovery 运行时,提示找不到 | |
| 解答: recovery 中没有提供任何基础的共享库,要在 recovery 中运行的程序,必须以强制编译静态 | |
| 库的方式编译 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment