本文转载自:http://blog.csdn.net/kris_fei/article/details/53464461

latform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92

描述:

当系统全部download开机后,会默认进入Recovery模式,这个其实是misc分区里的内容在作怪.

misc分区:

misc.img是RK原始就提供而不是自己编译生成的,其实misc里内容就两行,用UE可查看:

Uboot log:
#Boot ver: 2016-11-29#2.30
empty serial no.
normal boot.
checkKey
vbus = 1
read logo on state from dts [1]
pll_src = 0, dclk_hz = 138700000, dclk_div = 2
edp pll locked
Aux Transaction fail!
link training success.
unable to config video
got recovery cmd from misc.    //从它入手!
load fdt from resouce.
Secure Boot state: 0

Uboot 流程
board_late_init ->    rk32xx.c
    board_fbt_preboot -> fastboot.c
        rkloader_run_misc_cmd ->
            get_disk_partition ->     //获取misc分区的ptn, MISC_NAME是"misc"
            StorageReadLba ->     //这里正是读取misc分区有内容的地方
            do_bootrk    //如果有boot-recovery的命令,那么开机进入recovery模式. 第一此会成立,开机进入recovery后misc cmd会被清掉.

Recovery流程:
main -> recovery.cpp
    get_args ->
        get_bootloader_message ->    bootloader.cpp
            volume_for_path    //获取misc分区
            get_bootloader_message_block_rk29    //和uboot一样读取misc里的内容
            //不过这里主要获取的是--wipe_all 这条命令,接着就会做wipe data/cache的动作.
            finish_recovery ->    //等全部正常完成后,会去清除misc分区里的内容,否则会一直进入recovery模式.
                set_bootloader_message    //清除动作.

这样的设计使得每次download后就不用再去清data/cache了,比较方便.

[RK3288][Android6.0] 调试笔记 --- 系统第一次开机进入Recovery模式原因【转】的更多相关文章

  1. [RK3288][Android6.0] 调试笔记 --- Goodix GT9和GT9F区别【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/78341425 Platform: RK3288 OS: Android 6.0 Kernel ...

  2. [RK3288][Android6.0] 调试笔记 --- 替换系统签名【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/55100299 Platform: RK3288OS: Android 6.0Kernel: ...

  3. [RK3288][Android6.0] 调试笔记 --- 移除uboot和kernel开机logo【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/71600690 Platform: RockchipOS: Android 6.0Kernel ...

  4. [RK3288][Android6.0] 调试笔记 --- 软硬键盘同时使用【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/78748313 Platform: RK3288 OS: Android 6.0 Kernel ...

  5. [RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】

    本文转载自:http://m.blog.csdn.net/kris_fei/article/details/69553422 Platform: ROCKCHIPOS: Android 6.0Kern ...

  6. [RK3288][Android6.0] 调试笔记 --- 如何确认声卡是否注册成功【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/78399875 Platform: RK3288 OS: Android 6.0 Kernel ...

  7. [RK3288][Android6.0] 调试笔记 --- 普通串口的添加 【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/54574073   标签: rk3288 串口添加 2017-01-16 14:52 1079 ...

  8. [RK3288][Android6.0] 调试笔记 --- user版本默认显示开发者选项【转】

    本文转载自:https://blog.csdn.net/kris_fei/article/details/70157137 Platform: ROCKCHIPOS: Android 6.0Kerne ...

  9. [RK3288][Android6.0] 调试笔记 --- eMMC分区号和名字的对应【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/77318410 Platform: Rockchip OS: Android 6.0 Kern ...

随机推荐

  1. JS高级——arguments

    arguments 1.函数内部的一个对象,在函数调用的时候,默认的会将所有传入的实参依次存入该对象 2.是一个伪数组 3.arguments.length 可以用来表示传入实参的个数 4.argum ...

  2. crontab错误处理

    crontab任务跑着跑着突然停了,莫名奇妙,查看日志,发现以下错误: 网上搜了一下报错,提示说是调整打开最大进程数,设置如下

  3. CAD绘制一个直径标注(com接口VB语言)

    主要用到函数说明: _DMxDrawX::DrawDimDiametric 绘制一个直径标注.详细说明如下: 参数 说明 DOUBLE dChordPointX 在被标注的曲线上的第一个点X值 DOU ...

  4. Java中Math对象的属性与方法

    Math.sqrt() ——————>计算平方根Math.cbrt()————————>计算立方根Math.pow(a, b)——————————>计算a的b次方Math.max( ...

  5. 原生Ajax的使用——含开放API接口

    看了两天关于Ajax的使用,总感觉云里雾里的. 故在此总结梳理一下,如果疏漏错误还请纠正支出. Ajax能够在向服务器请求额外的数据时,不必重新加载/卸载整个页面,实现一小块区域性的刷新,也是常说的异 ...

  6. Linux内核源码特殊用法

    崇拜并且转载的: http://ilinuxkernel.com/files/5/Linux_Kernel_Source_Code.htm Linux内核源码特殊用法 1 前言 Linux内核源码主要 ...

  7. 利用WMITool解决浏览器快捷方式启动参数被篡改以及浏览器主页被劫持的问题

    先说说症状 症状①:通过快捷方式启动浏览器,首页跳转到2345以及hao123网址导航页,切系统内安装的多款浏览器(IE.Chrome.Firefox.Opera.Safari.Maxthon)症状相 ...

  8. 腾讯云,搭建LAMP服务

    lamp (Web应用软件) 编辑 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被 ...

  9. 树 (p155, 从中序和后续回复二叉树)

    递归求解, You are to determine the value of the leaf node in a given binary tree that is the terminal no ...

  10. BZOJ——T 4563: [Haoi2016]放棋子

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 387  Solved: 247[Submit][Status][Discuss] Descriptio ...