4、应用程序/库 应用程序 Linux内核 。内核上面是应用程序和工具 高层抽象 程序。链接库通常与应用程 文件 网络 系统 协议 序动态链接在一起 底层接口层 硬件 4口4四是4P刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 Decenber4,201423/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4、应用程序/库 内核上面是应用程序和工具 程序。链接库通常与应用程 序动态链接在一起 硬件 底层接口层 文件 系统 网络 协议 高层抽象 Linux内核 库 应用程序 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 23 / 104
Outline ①嵌入式Linux开发综述 。建立目标板Linux的基本步骤 。升发嵌入式Linx系统最常用的主机英型 。主机/目标机的开发体系结构 。主机/目标板的调试方式 。嵌入式Linux系统的一般架构 ●系统启动过程 。引导配置的类型 ②Linux的配置和编译 根文件系统及其制作 。根文件系统的目录骨架 。根文件系统的内容 。选择根文件系统的格式并设置 @小节和作业 4口4四1是14P刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作系统 Decenber4,201424/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 嵌入式Linux开发综述 建立目标板Linux的基本步骤 开发嵌入式Linux系统最常用的主机类型 主机/目标机的开发体系结构 主机/目标板的调试方式 嵌入式Linux系统的一般架构 系统启动过程 引导配置的类型 .2 Linux的配置和编译 .3 根文件系统及其制作 根文件系统的目录骨架 根文件系统的内容 选择根文件系统的格式并设置 4. 小节和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 24 / 104
系统启动过程 ·在系统启动过程里,有3个主要软件组件参与其中: ©引导加载程序 ©内核 Init进程 引导加载程序 ·引导加载程序是系统启动过程中执行的第一个软件, 它与目标板的硬件有高度的依赖关系· ~Linux有许多引导加截程序可用。 ·引导加载程序在完成底层硬件初始化工作后会接着跳 到内核的启动程序代码执行· 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 Decenber4,201425/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 系统启动过程 在系统启动过程里,有3个主要软件组件参与其中: 1. 引导加载程序 2. 内核 3. Init进程 1. 引导加载程序 ▶ 引导加载程序是系统启动过程中执行的第一个软件, 它与目标板的硬件有高度的依赖关系。 ▶ Linux有许多引导加载程序可用。 ▶ 引导加载程序在完成底层硬件初始化工作后会接着跳 到内核的启动程序代码执行。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 25 / 104
系统启动过程 ©内核 ·内核一开始的启动程序代码会因架构不同而有很大的 差异,而且在为C程序代码设置合适的执行环境之前, 它会先为自己进行初始化工作· 完成以上工作后,内核会跳到与架构无关的start kernel 函数执行,此函数会初始化高层内核功能,安装根文 件系统,以及启动init进程 Init进程 启动各种应用程序(根据设置)》 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作系统 Decenber4,201425/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 系统启动过程 2. 内核 ▶ 内核一开始的启动程序代码会因架构不同而有很大的 差异,而且在为C程序代码设置合适的执行环境之前, 它会先为自己进行初始化工作。 ▶ 完成以上工作后,内核会跳到与架构无关的start_kernel 函数执行,此函数会初始化高层内核功能,安装根文 件系统,以及启动init进程 3. Init进程 ▶ 启动各种应用程序(根据设置) 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 25 / 104
Outline ①嵌入式Linux开发综述 。建立目标板Linux的基本步骤 。升发嵌入式Linx系统最常用的主机英型 。主机/目标机的开发体系结构 。主机/目标板的调试方式 。嵌入式Linux系统的一般架构 。系统启动过程 ●引导配置的类型 ②Linux的配置和培译 根文件系统及其制作 。根文件系统的目录骨架 。根文件系统的内容 。选择根文件系统的格式并设置 @小节和作业 4口4四1是14P刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作系统 Decenber4,201426/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 嵌入式Linux开发综述 建立目标板Linux的基本步骤 开发嵌入式Linux系统最常用的主机类型 主机/目标机的开发体系结构 主机/目标板的调试方式 嵌入式Linux系统的一般架构 系统启动过程 引导配置的类型 .2 Linux的配置和编译 .3 根文件系统及其制作 根文件系统的目录骨架 根文件系统的内容 选择根文件系统的格式并设置 4. 小节和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 26 / 104