linux启动全过程分析
来源:互联网 发布:sql2000数据库置疑 编辑:程序博客网 时间:2024/05/17 15:02
一、引导加载程序
1、固件
有些CPU在运行bootloader之前有一段固化程序,如BIOS,然后才运行第一个分区中的bootloader程序,大多数嵌入式系统中无固件,直接从起始地址开始运行bootloader程序,ARM为0,将存储bootloader程序的存储设备映射到该地址;
2、bootloader
第一阶段:
CPU体系结构的初始化(关看门狗,关中断,设置CPU时钟,RAM初始化)
为加载第二阶段代码准备RAM空间
复制第二阶段代码到RAM空间
设置栈
跳转到第二阶段入口点
第二阶段:
初始化要用的设备
检测内存映射
将内核和根文件系统读到RAM
设置内核启动参数
调用内核
具体动作:
R0=0
R1=机器类型ID
R2=启动参数标记列表的起始地址(bootloader和内核间以标记列表形式来传递启动参数)
关中断
关MMU
关CACHE
3、内核
start_kernel(),具体过程:先挂载/dev/ram0,执行/linuxrc,切换根目录,挂载根文件系统,执行第一个用户进程(init);
4、用户进程
文件系统为用户进程和内核之间的交互接口,如shell,库(glibc,uclibc)等
0 0
- linux启动全过程分析
- Linux 启动全过程
- u-boot启动全过程分析
- ARM Linux启动全过程归纳
- 图解ARM LINUX启动全过程
- ARM Linux的启动全过程
- 【Linux】图解ARM-Linux的启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM-Linux的启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM-Linux的启动全过程
- 开机到登录的 Linux 启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM Linux的启动全过程
- 图解ARM Linux的启动全过程
- [DP]HOJ 1288 Bridging Signals
- Afaria 支持supervised mode for iOS设备
- 子图
- curl应用,中转搜索图书
- fluentd
- linux启动全过程分析
- 关于cocos2dx的AnchorPoint
- Fragment和Activity的交互
- [LeetCode]86.Partition List
- Linux NFS服务器的安装与配置
- 算法导论第九章课后答案
- 紫金VLAN ID 为101/0
- 智能寻路贪吃蛇系列之 简单贪吃蛇的MFC实现(上)
- [过年菜谱之]清蒸鲈鱼