Linux内核怎样启动Android
2011-04-27 23:10
225 查看
对Android感兴趣的朋友都知道,Android系统是建立在Linux内核之上的。那么Linux内核和
Android什么关系?Linux内核是怎样引导起Android呢?本文进行简单的描述。
Android虽然建立在Linux内核之上,但是他对内核进行了一些扩展,增加了一些驱动。比如Binder,loger等等驱动。可以拿
Android内核代码和其Baseline版本进行对比。可以看到Android对Linux内核的所有扩展。
熟悉Linux启动的朋友知道,首先Linux引导完成之后,会启动用户态的init进程(pid为0),这个进程在整个系统运行过程中起着非常重要的作
用,如果你对init进程不了解请查相关资料。init完成系统的初始化工作,然后进入shell,接收用户的输入。
Android启动也没有什么神秘的,就是用自己的init进程替换了Linux内核的init进程,完成自己初始化工作(设备,文件系统等等初始化)。
然后启动自己的虚拟机,程序等等的东西。Android的init进程的代码位于system/core/init/init.c下面,可以去查看其源
码,来了解Android启动详细流程。Android启动流程的资料网上已经比较多,这里就不赘述了。
可以看到移植Android过程中,调试init非常重要。因为所有和硬件平台相关的东西都这里初始化,所以init进程有可能需要移植或者配置。其他的
进程都是和硬件无关的,理论上不需要修改就应该能够运行起来。
经过上面的描述可以看出,Android的init进程起着一个承上启下的作用。承上——自动由Linux内核调用;启下——初始化Android各种设
备和资源,然后启动Android相关的进程,直到引导起整个Android系统。
参考资料:
Android Porting Guide
(Android官网已经被“墙”,这里是韩国的Android
镜像)
Android什么关系?Linux内核是怎样引导起Android呢?本文进行简单的描述。
Android虽然建立在Linux内核之上,但是他对内核进行了一些扩展,增加了一些驱动。比如Binder,loger等等驱动。可以拿
Android内核代码和其Baseline版本进行对比。可以看到Android对Linux内核的所有扩展。
熟悉Linux启动的朋友知道,首先Linux引导完成之后,会启动用户态的init进程(pid为0),这个进程在整个系统运行过程中起着非常重要的作
用,如果你对init进程不了解请查相关资料。init完成系统的初始化工作,然后进入shell,接收用户的输入。
Android启动也没有什么神秘的,就是用自己的init进程替换了Linux内核的init进程,完成自己初始化工作(设备,文件系统等等初始化)。
然后启动自己的虚拟机,程序等等的东西。Android的init进程的代码位于system/core/init/init.c下面,可以去查看其源
码,来了解Android启动详细流程。Android启动流程的资料网上已经比较多,这里就不赘述了。
可以看到移植Android过程中,调试init非常重要。因为所有和硬件平台相关的东西都这里初始化,所以init进程有可能需要移植或者配置。其他的
进程都是和硬件无关的,理论上不需要修改就应该能够运行起来。
经过上面的描述可以看出,Android的init进程起着一个承上启下的作用。承上——自动由Linux内核调用;启下——初始化Android各种设
备和资源,然后启动Android相关的进程,直到引导起整个Android系统。
参考资料:
Android Porting Guide
(Android官网已经被“墙”,这里是韩国的Android
镜像)
相关文章推荐
- linux 内核启动过程以及挂载android 根文件系统的过程 ( 转)
- Android笔记 - Android启动之Linux内核启动
- Android 内核 - 00 Android模块及Linux 启动过程
- linux 内核启动过程以及挂载android 根文件体系的过程 ( 转)
- linux 内核启动过程以及挂载android 根文件系统的过程
- Linux 内核启动挂载android根文件系统过程分析
- Android笔记-Android启动之Linux内核启动
- linux 内核启动过程以及挂载android 根文件系统的过程
- Linux 内核启动挂载android根文件系统过程分析
- linux 内核启动过程以及挂载android 根文件系统的过程
- linux 内核启动过程以及挂载android 根文件系统的过程,以及介绍android 源代码中文件系统部分的浅析
- android启动之linux内核启动
- Linux 内核启动挂载android根文件系统过程分析
- Linux内核启动过程和Bootloader(总述)
- 控制Linux内核启动中的打印
- <Linux>Linux内核启动分析(一)——head.S
- 在Linux下怎样让top命令启动之后就按内存使用排序(或CPU使用排序)?
- linux 内核启动过程 for arm
- linux 内核启动流程(涉及到根文件系统的问题)
- linux、内核源码、内核编译与配置、内核模块开发、内核启动流程