Android系统初始化脚本init.rc分析

位置sytem/core/rootdir

如果设备商有其他的启动个性化需求,可以参考HTC 的实现,相关的代码位于vendor\htc\dream-open\ init.trout.rc文件中。(device/lenovo/apollo_td/init_sdmmc.rc)

“Services”的命令行参数如下:

Android系统初始化脚本init.rc分析_第1张图片 

关于init.rc脚本的具体参数含义请参考system\core\init\readme.txt文件。

从init.rc脚本可知,在默认情况下Android采用的文件系统为yaffs2。yaffs2 针对大容量的NAND Flash进行了优化,具有挂载时间短的优点。当然制造商可以改用其他觉得适合的文件系统,目前另一个比较常用的文件操作系统是UBIFS。UBIFS由IBM和Nokia 的工程师Thomas Gleixner,Artem Bityutskiy等人于2006 年发起。UBIFS在本书中不再详述。

yaffs2 源代码的下载地址为:

  
  
  
  
  1. http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar 

在yaffs2 源代码包的utils 目录下包含了makeyaffsimage 和makeyaffs2image 两个工具,前者用来制作yaffs 的文件系统映像,后者用来制作yaffs2 的文件系统映像。

制作yaffs2 的文件系统映像的方法为:

  
  
  
  
  1. #mkyaffs2image dir imagename 

在Android中,yaffs2 的实现位于aurora\msm\msm\fs\yaffs2 目录中。

当Android系统因为某种原因需要重启时,启动过程则要简单的多,具体如下:

代码2-10 重启过程

Android系统初始化脚本init.rc分析_第2张图片 
Android系统初始化脚本init.rc分析_第3张图片 
如果设备商有其他的启动个性化需求,可以参考HTC 的实现,相关的代码位于vendor\htc\dream-open\ init.trout.rc文件中。

你可能感兴趣的:(android,image,IBM,脚本,HTC,Nokia)