专栏首页linux驱动个人学习android-ramdisk.img分析、recovery.img&boot.img执行过程【转】

android-ramdisk.img分析、recovery.img&boot.img执行过程【转】

一、ramdisk介绍

ramdisk通过直面意思就大概能理解意思,ram disk虚拟内存盘,将ram模拟成硬盘来使用的文件系统。对于传统的磁盘文件系统来说,这样做的好处是可以极大提高文件访问速度;但由于是ram,所以 在掉电后,这部分内容不能保存。ramdisk文件系统是在系统上电后直接从磁盘一次性加载到内存,在整个运行期间都不会有写回操作,所以,任何修改都掉 电后丢失。

二、ramdisk.img介绍

ramdisk.img是android打包生成的,解压ramdisk.img后对比root根目录很相似,所以ramdisk是虚拟文件系统。这里主要讲解如何解压ramdisk.img。

file ramdisk.img
--ramdisk.gz: gzip compressed data, from Unix   
-----可知ramdisk.img是gz的文件
mv ramdisk.img ramdisk.gz
-----更改后缀名
gunzip ramdisk.gz
-----解压,会生成ramdisk文件
file ramdisk
--ramdisk: ASCII cpio archive (SVR4 with no CRC)
cpio -i -F ramdisk

三、ramdisk、boot.img、recovery.img之间的关系

ramdisk.img会被打包到boot.img和recovery.img中(不是同一个ramdisk.img).

ramdisk.img中比较重要的文件是"init","init.rc",其中init是system/core/init/init.c编译而来,boot.img中ramdisk里的init.rc位于system/core/init/init.rc,而recovery.img中ramdisk里的init.rc位于bootable/recovery/etc/init.rc。

kernel加载结束以后第一个进程是执行init,init会解析init.rc文件,并起相应的服务。由此可以知道正常开机和进入recovery模式起的进程是不同的。

下面的代码位于bootable/recovery/etc/init.rc,由此可知,进入recovery模式后会执行sbin/recovery,此文件是bootable/recovery/recovery.cpp生成(可查看对应目录的Android.mk查看)。

service recovery /sbin/recovery
    seclabel u:r:recovery:s0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux CFS调度器之队列操作--Linux进程的管理与调度(二十七)

    完全公平调度器CFS中有两个函数可用来增删队列的成员:enqueue_task_fair和dequeue_task_fair分别用来向CFS就绪队列中添加或者删...

    233333
  • 进程状态

    state域能够取5个互为排斥的值(通俗一点就是这五个值任意两个不能一起使用,只能单独使用)。系统中的每个进程都必然处于以上所列进程状态中的一种。 状态描述...

    233333
  • 深入理解内存映射mmap

    内存映射mmap是Linux内核的一个重要机制,它和虚拟内存管理以及文件IO都有直接的关系,这篇细说一下mmap的一些要点。

    233333
  • uni-app请求新闻接口api,渲染新闻列表

    在网上找了一个免费的新闻api http://v.juhe.cn/toutiao/index?type=top&key=3dc86b09a2ee2477a5b...

    王小婷
  • 「小程序JAVA实战」小程序注册界面的开发(29)

    PS:这个就是简单的注册页面,其实很多元素我也抄的网上的,但是要理解这个设计的思路很理念,别搬砖都不知道去哪里找,那就尴尬了。

    IT故事会
  • 微信小程序|标签页内容完善

    在我们浏览类似一个电影信息页面时,会遇到进行多个页面多种选择情况,每个标签栏都对应不同信息的情况,而其中图文组合布局、九宫格布局、以及搜索框都是必不可少的。

    算法与编程之美
  • Mini T-block——数据中心界的U盘

    ? 导语: 在腾讯全球数字生态大会上,腾讯数据中心的Mini T-block占据了整个场馆入口处最亮眼的位置,来往参观的宾客络绎不绝。那么,它究竟凭借什么能力...

    腾讯技术工程官方号
  • iOS---UICollectionView详解和常用API翻译

    用户1941540
  • Redis系列(九)底层数据结构之五种基础数据类型的实现

    Redis 已经是大家耳熟能详的东西了,日常工作也都在使用,面试中也是高频的会涉及到,那么我们对它究竟了解有多深刻呢?

    呼延十
  • 移动端基础

      视口(viewport)就是浏览器显示页面内容的屏幕区域。视口可分为布局视口、视觉视口和理想视口

    清出于兰

扫码关注云+社区

领取腾讯云代金券