ARM+Linux系统启动流程分析----系统启动总概述
2015-11-05 16:29
561 查看
本文章和后续的几篇姊妹篇,笔者将对 ARM+Linux 的主流嵌入式系统的启动流程进行介绍,所作介绍目的有二:其一为记录自己的学习经历,总结所学;其二希望能帮助到有需要的网友,当然笔者也希望能得到各位前辈的指点。由于本人水平有限,不免认识有所偏差,真切希望各位能真诚指出。
开发环境如下:
PC操作系统:RetHat Enterprise Linux6.3版本,内核版本:linux-2.6.39
交叉工具链:arm-linux-xxx 4.3.2
开发板:Friendly Mini2440 :arm9内核,64M SDRAM,256M NAND FLASH
bootloader:u-boot-2009.08
开发板内核版本:linux-2.6.32
这是本系列文章的开篇,正如标题所示本篇文章将首先对整个系统的启动流程做一个粗略的介绍,至于启动过程中的细节将是后续文章的主题。
总的来说,ARM+Linux 系统的软件架构如下(来自国嵌课程):
上图是笔者开发板nand flash 上的内容分布。如上所示,硬件系统是位于Bootloader左边的,系统一上电,第一个得到执行的是Bootloader,接着Bootloader通过指定Boot parameters来加载kernel ,kernel完成工作后就会执行文件系统里的应用程序。下面简单介绍每个阶段所完成的工作,这里只是很粗略的说明而已,具体每个步骤完成哪些工作留待后面的文章详细介绍。
1、bootloader
bootloader 的工作总的来说就是一句话:对硬件进行初始化,然后加载内核并启动内核。
2、kernel
bootloader 启动内核后,内核进行一系列的初始化,这些初始化包括硬件的,也包括软件的,如各种内核用到的表,然后挂载一个或者多个文件系统。
3、root filesystem
root filesystem 是内核挂载的第一个文件系统,这里包含系统的第一个用户进程。笔者认为文件系统用户操作kernel 的一个通道,基本上我们使用操作系统都是在和文件系统打交道。
本章完,下一篇:《ARM+Linux系统启动流程分析----ARM处理器的启动流程》
开发环境如下:
PC操作系统:RetHat Enterprise Linux6.3版本,内核版本:linux-2.6.39
交叉工具链:arm-linux-xxx 4.3.2
开发板:Friendly Mini2440 :arm9内核,64M SDRAM,256M NAND FLASH
bootloader:u-boot-2009.08
开发板内核版本:linux-2.6.32
这是本系列文章的开篇,正如标题所示本篇文章将首先对整个系统的启动流程做一个粗略的介绍,至于启动过程中的细节将是后续文章的主题。
总的来说,ARM+Linux 系统的软件架构如下(来自国嵌课程):
上图是笔者开发板nand flash 上的内容分布。如上所示,硬件系统是位于Bootloader左边的,系统一上电,第一个得到执行的是Bootloader,接着Bootloader通过指定Boot parameters来加载kernel ,kernel完成工作后就会执行文件系统里的应用程序。下面简单介绍每个阶段所完成的工作,这里只是很粗略的说明而已,具体每个步骤完成哪些工作留待后面的文章详细介绍。
1、bootloader
bootloader 的工作总的来说就是一句话:对硬件进行初始化,然后加载内核并启动内核。
2、kernel
bootloader 启动内核后,内核进行一系列的初始化,这些初始化包括硬件的,也包括软件的,如各种内核用到的表,然后挂载一个或者多个文件系统。
3、root filesystem
root filesystem 是内核挂载的第一个文件系统,这里包含系统的第一个用户进程。笔者认为文件系统用户操作kernel 的一个通道,基本上我们使用操作系统都是在和文件系统打交道。
本章完,下一篇:《ARM+Linux系统启动流程分析----ARM处理器的启动流程》
相关文章推荐
- #新闻拍一拍# IBM 招聘广告要求应聘者具备至少 12 年 K8S 使用经验
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝