嵌入式操作系统 7嵌入式Linux开发技术 陈香兰(xlanchenc@ustc.edu.cn) 计算机应用教研室。计算机学院 嵌入式系统实验室●苏州研究院 中国科学技术大学 Fa112014 December 4,2014 1口401是42在刀00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 December 4.2014 I 104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式操作系统 7 嵌入式Linux开发技术 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 December 4, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 1 / 104
Outline ①嵌入式Linux-开发综述 ●建立目标板Linux的基本步骤 ●开发嵌入式Linux系统最常用的主机类型 ·主机/目标机的开发体系结构 ·主机/目标板的调试方式 ●嵌入式Linux系统的一般架构 ●系统启动过程 ●引导配置的类型 Linux的配置和编译 根文件系统及其制作 ●根文件系统的目录骨架 ·根文件系统的内容 ●选择根文件系统的格式并设置 小节和作业 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 瓷人式操作委蛇 December 4.2014 2/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. 嵌入式Linux开发综述 建立目标板Linux的基本步骤 开发嵌入式Linux系统最常用的主机类型 主机/目标机的开发体系结构 主机/目标板的调试方式 嵌入式Linux系统的一般架构 系统启动过程 引导配置的类型 .2 Linux的配置和编译 .3 根文件系统及其制作 根文件系统的目录骨架 根文件系统的内容 选择根文件系统的格式并设置 4. 小节和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 2 / 104
建立目标板Linux的基本步骤 建立目标板Linux系统有4个重要的步骤: ①决定系统组件 Liux具有大量可选软件,应当为目标系统列出必须的功能清单 ©配置并建立内核 ~选择合适的Linux内核版本与适当的配置 。建立内核 ©建立根文件系统 Q设置引导软件与配置 1口4四是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 December 4.2014 5/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 建立目标板Linux的基本步骤 建立目标板Linux系统有4个重要的步骤: 1. 决定系统组件 ▶ Linux具有大量可选软件,应当为目标系统列出必须的功能清单 2. 配置并建立内核 ▶ 选择合适的Linux内核版本与适当的配置 ▶ 建立内核 3. 建立根文件系统 4. 设置引导软件与配置 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 5 / 104
Outline ①嵌入式Linux开发综述 。建立目标板Linux的基本步骤 ●开发嵌入式Linux系统最常用的主机类型 。主机/目标机的开发体系结构 。主机/目标板的调试方式 。嵌入式Linux系统的一般架构 。系统启动过程 。引导配置的类型 ②Linux的配置和编译 @根文件系统及其制作 。根文件系统的目录骨架 。根文件系统的内容 。选择根文件系统的格式并设置 @小节和作业 4口4四1是14P刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作系统 December 4.2014 6/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 嵌入式Linux开发综述 建立目标板Linux的基本步骤 开发嵌入式Linux系统最常用的主机类型 主机/目标机的开发体系结构 主机/目标板的调试方式 嵌入式Linux系统的一般架构 系统启动过程 引导配置的类型 .2 Linux的配置和编译 .3 根文件系统及其制作 根文件系统的目录骨架 根文件系统的内容 选择根文件系统的格式并设置 4. 小节和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 6 / 104
开发嵌入式Linux系统最常用的主机类型 ④Linux工作站 ·通常就是一台安装了某个标准的Liux发行套件的PC机, 如Debian、Mandrake、Red Hat等。 需约2、3G或更多的磁盘空间进行嵌入式Linux开发 建议具有128或以上的RAM及交换空间 ©Unix工作站 由于Linux与Unix非常相似,对Linux适用的通常对Unix也适用 4口4四是4P在刀0C 陈香兰(xlanchenoustc,ed加,cn)(升异数应 长人式操作香统 December 4.2014 7 104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 开发嵌入式Linux系统最常用的主机类型 1. Linux工作站 ▶ 通常就是一台安装了某个标准的Linux发行套件的PC机, 如Debian、Mandrake、Red Hat等。 ▶ 需约2、3G或更多的磁盘空间进行嵌入式Linux开发 ▶ 建议具有128或以上的RAM及交换空间 2. Unix工作站 ▶ 由于Linux与Unix非常相似,对Linux适用的通常对Unix也适用 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 7 / 104
开发嵌入式Linux系统最常用的主机类型 Windows工作站 ,许多开发者比较习惯Windows平台,并希望在Windows平台 上开发嵌入式Linux系统 Cygwin 可在Windows平台上建立跨平台开发工具链 VMWare/VirtualBox 可在虚拟环境中执行Linux,并在Linux上进行嵌入式Linux的开发 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 瓷人式操作委蛇 December 4.2014 7 104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 开发嵌入式Linux系统最常用的主机类型 3. Windows工作站 ▶ 许多开发者比较习惯Windows平台,并希望在Windows平台 上开发嵌入式Linux系统 ▶ Cygwin: 可在Windows平台上建立跨平台开发工具链 ▶ VMWare/VirtualBox: 可在虚拟环境中执行Linux,并在Linux上进行嵌入式Linux的开发 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 7 / 104
Outline ①嵌入式Linux开发综述 。建立目标板Linux的基本步骤 。开发嵌入式Linux系统最常用的主机类型 ●主机/目标机的开发体系结构 。主机/目标板的调试方式 。嵌入式Linux系统的一般架构 。系统启动过程 。引导配置的类型 ②Linux的配置和编译 根文件系统及其制作 。根文件系统的目录骨架 。根文件系统的内容 。选择根文件系统的格式并设置 @小节和作业 4口4四1是14P刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作系统 December 4.2014 8 104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 嵌入式Linux开发综述 建立目标板Linux的基本步骤 开发嵌入式Linux系统最常用的主机类型 主机/目标机的开发体系结构 主机/目标板的调试方式 嵌入式Linux系统的一般架构 系统启动过程 引导配置的类型 .2 Linux的配置和编译 .3 根文件系统及其制作 根文件系统的目录骨架 根文件系统的内容 选择根文件系统的格式并设置 4. 小节和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 8 / 104
主机/目标机的开发体系结构 ●在嵌入式Liux系统开发中,存在3种主机/目标机开发体系结构 0连接式 ©使用可移动存储设备 ⑧独立开发式 1口t4四1是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 December 4.2014 9/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 主机/目标机的开发体系结构 在嵌入式Linux系统开发中,存在3种主机/目标机开发体系结构 1. 连接式 2. 使用可移动存储设备 3. 独立开发式 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 9 / 104
1、连接式(the linked setup) ●目标板和主机通过一个物理线路永久的连接在一起: 如串行线或以太网连接 。好处: 目标代码的传送无需物理存储设备参与,只需要上述连接 就足够了 ·在这种方式中,主机包含了跨平台开发环境,而目标板则 包含了适当的引导加载程序、可用的内核以及最起码的根 文件系统 主机 目标机 ★引导加载程 ★跨平台升发 序 环境 *内核 *根文件系统 4口4四是42,刀00 陈香兰(xlanchenoustc,edu,cn)(计界机应 嵌人式操作辰蛇 Decenber4,201410/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1、连接式 (the linked setup) 目标板和主机通过一个物理线路永久的连接在一起: 如串行线或以太网连接 好处: 目标代码的传送无需物理存储设备参与,只需要上述连接 就足够了 在这种方式中,主机包含了跨平台开发环境,而目标板则 包含了适当的引导加载程序、可用的内核以及最起码的根 文件系统 主机 目标机 ⋆跨平台开发 环境 ⋆引导加载程 序 ⋆内核 ⋆根文件系统 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 10 / 104
l、连接式(the1 inked setup) ●另一种做法是, 以远程组件来简化目标板的开发工作,例如 通过TFTP下载内核 ~此外,根文件系统还可以通过NFS安装,而不必在目标板 中使用存储介质 主机 目标机 TFTP: Trivial File Transfer Protocol *跨平台升发 小型文件传输协议 环境 ★引导加载程 比FTP简单 ★内核 序 +根文件系统 NFS: Network File System 下载/NFS ★内核 网络文件系统 ★根文件系统 允许访问远程计算机上的文件 4口4四1是4P刀00 陈香三(xlanchenoustc.,ed加,cn)(计界丸应 故人式操作系战 Decenber4,201410/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1、连接式 (the linked setup) 另一种做法是, 以远程组件来简化目标板的开发工作,例如 ▶ 通过TFTP下载内核 ▶ 此外,根文件系统还可以通过NFS安装,而不必在目标板 中使用存储介质 主机 目标机 ⋆跨平台开发 环境 ⋆内核 ⋆根文件系统 ⋆引导加载程 序 下载/NFS ⋆内核 ⋆根文件系统 TFTP: Trivial File Transfer Protocol 小型文件传输协议 比FTP简单 NFS: Network File System 网络文件系统 允许访问远程计算机上的文件 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 10 / 104