1
nealfeng 2015-06-14 18:07:23 +08:00
linux
|
2
icedx 2015-06-14 20:13:59 +08:00
Recovery 就是一个Linux 内核
只是被叫做Recovery 的 在层面上是与内核同等的 只不过内核在运行末期会加载Java 虚拟机 呈现出用户界面 Recovery 则是执行特定命令 完成对系统的更新 |
3
wy315700 2015-06-14 20:18:59 +08:00
类似于Windows里的PE环境,
|
5
allenforrest 2015-06-14 20:30:48 +08:00 via iPhone
可以简单理解为一个二级Bootloader
|
6
leeyuzhe OP @icedx recovery有必要加载Java虚拟机吗?感觉能驱动起来屏幕然后能执行shell脚本就行了。并且一般recovery的ing一共也才几兆大小
|
7
leeyuzhe OP @allenforrest 照你这么理解,那安卓系统也是个二级的bl,我认为,recovery还有flash已经安装系统应该是平行关系的三个系统
|
9
billlee 2015-06-14 20:56:20 +08:00
大概是 recovery 和 Android 的 init 进程不同吧。
|
10
xuhaoyangx 2015-06-14 21:05:39 +08:00
就是一个linux的init的玩意,可以理解成轻量级linux系统
|
12
yaoye0o 2015-06-14 21:12:49 +08:00 via Android
recovery还有这样的意义啊。我只知道在rec模式能刷机
|
13
HackerOO7 2015-06-14 22:05:24 +08:00
|
15
leeyuzhe OP |
17
acess 2015-06-24 22:52:28 +08:00 via Android 1
我记得recovery启动需要的文件都在recovery分区里面(或者说recovery.img),运行时被加载到内存盘里。(其实和Android很像,只是Android又继续启动了很多服务,启动了app_process等)
这一点跟WinPE很像。 /init程序应该和Android相同或者相似,都可以解释执行/init.rc(Linux也有init程序,好像叫做sysvinit,但我记得一般用的都基于shell,systemd就是用来取代传统init的)。 一般看到的那个可以用音量键和电源键等操作的,带菜单的recovery界面就是一个Linux可执行文件搞定的(文件名就是recovery) 我记得recovery分区和boot分区差不多,只是一个开机默认启动,一个按组合键启动,如果给recovery刷了boot.img就可以启动Android。不同机器可能不同吧,我的机器的EMMC分区表就是GPT…… 有个工具mkboot可以解压新版Android的boot.img、recovery.img,这些镜像文件貌似是在编译Android时编译出的一个小工具mkbootimg创建的。ubuntu上也有包abootimg可用。我觉得解压看看就大概知道里面有什么了。换内核时可以用这些工具。新版内核还有dtb文件,mkboot可以处理。 |