嵌入式linux/Android系统详细启动流程解析
来源:互联网 发布:工作休息提醒软件 编辑:程序博客网 时间:2024/06/05 21:08
第一阶段:启动ROM_code
=============================
第二阶段:启动X_loader
=============================
第三阶段:启动U_boot
stage1:
基本硬件设备(如CPU等)的初始化;
为stage2部分的代码准备RAM空间;
设置好堆栈;
跳入stage2 C入口。
stage2:
监测系统内存映射;
将kernel镜像和根文件系统镜像从Flash读入RAM中;
设置内核启动参数;
调用内核。
=============================
第四阶段:启动内核
step1:
kernel自解压
step2:
设置CPU工作模式,打开mmu、cache,设置内核页表,初始化串口、console、mmc、nand、显示、网络(分配IP与Mac地址)等硬件设备,使能中断、初始化进程间通信IPC等。
step3:
挂载根文件系统,设置根文件系统为rootfs,加载设备驱动以及内核静态模块。
=============================
第五阶段:启动用户进程init
文件权限清零;
为rootfs创建必要的文件夹,挂在必要分区;
创建/dev/null和/dev/kmsg节点;
解析init.rc启动脚本,执行各阶段动作;
初始化qemu模拟器(保证Android app能在无真正Android设备的情况下运行Android app);
初始化属性系统,开启属性服务;
显示设备开机logo/声音;
init进程进入死循环。
=============================
第六阶段:启动java虚拟机zygote,进入java世界
=============================
第七阶段:启动systemserver后台服务
=============================
第八阶段:启动launcher桌面程序
=============================
第九阶段:启动lockscreen锁屏界面
=============================
第十阶段:启动第三方apk并显示于launcher桌面
- 嵌入式linux/Android系统详细启动流程解析
- 嵌入式linux启动流程
- 嵌入式linux启动流程
- 嵌入式Linux启动流程
- linux 详细启动流程
- 史上最详细的Android系统SystemUI 启动过程详细解析
- Android 5.1_SystemUI的启动流程详细解析
- Android 5.1_SystemUI的启动流程详细解析
- 嵌入式Linux启动流程分析
- 嵌入式Linux启动流程分析
- 嵌入式Linux启动流程分析
- 嵌入式Linux内核启动流程
- 嵌入式Linux OS启动流程
- Arm Linux系统调用流程详细解析-SWI
- Arm Linux系统调用流程详细解析-SWI
- linux开机启动详细流程
- linux开机启动详细流程
- linux开机启动详细流程
- Linux中的umask系统变量的笔记
- 光驱坏了,用什么方法可以解决装机问题#
- 关于PHP中的文件包含方法
- 内部版本7600无法安装ie9浏览器
- UIResponder与UIView的触摸事件处理
- 嵌入式linux/Android系统详细启动流程解析
- Uva 103-Stacking Boxes(DP/矩形嵌套)
- timestamp的两个属性:CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP
- PHP开发过程中的几种调试方法
- Android 开发之Navigation Drawer
- [Android]反编译apk + eclipse中调试smali
- 从trc查找死锁的问题
- PHP中用file_get_contents抓取网页
- Zend studio编辑器快捷键使用及字体修改