博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt

上传人:小飞机 文档编号:1595584 上传时间:2022-12-10 格式:PPT 页数:33 大小:447.50KB
返回 下载 相关 举报
博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt_第1页
第1页 / 共33页
博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt_第2页
第2页 / 共33页
博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt_第3页
第3页 / 共33页
博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt_第4页
第4页 / 共33页
博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt》由会员分享,可在线阅读,更多相关《博创嵌入式培训PPT第3节 嵌入式Linux内核文件系统跟存储(模板)课件.ppt(33页珍藏版)》请在三一办公上搜索。

1、第3章 嵌入式Linux内核文件系统与存储,第三章 嵌入式Linux内核文件系统与存储,主要内容 第一节 Linux内核定制、裁剪和添加 第二节 嵌入式引导系统(BootLoader)技术 第三节 文件系统的构建,学习方法与建议,本章主要介绍了三个部分,分别是嵌入式linux内核、引导系统介绍和文件系统等相关内容。该章节详细介绍了关于嵌入式系统如何构建以及内核部分的应用操作等内容,可以更好的帮助理解嵌入式系统的相关内容,具有一定的应用价值。,1,内容:一、概述 二、内核目录介绍 三、配置文件和配置工具 四、内核的编译命令,第一节 Linux内核定制、裁剪和添加,2,第一节 Linux内核定制、

2、裁剪和添加 一、概述,操作系统结构操作系统(Operating System,OS)是一组能够管理电脑软硬件资源的程序,它能够管理内存、决定系统资源分配、控制输入输出设备以及管理网络文件等。作为计算机软硬件之间的纽带,操作系统能够使计算机系统资源得到最大限度的利用。利用运行在某台计算机(宿主机)上的编译器编译某个源程序,生成在另一台机器(目标机)上运行的目标代码的过程。操作系统是一套复杂的管理控制程序,包括五个方面的管理功能:进程与处理机管理、存储管理、设备管理、文件管理与用户管理。一般来说,操作系统具有四个共同特征:并发性(concurrence)、共享性(sharing)、虚拟性(virt

3、ual)和不确定性(asynchronism)。其中,并发是指两个或者多个事件在同一时间间隔之内发生;共享指系统中的资源能够供多个用户(用户程序)共同使用;虚拟指通过某种技术把一个物理上的实体映射为若干个逻辑上的对应;而不确定性则指内存中的多个进程均按照各自独立的方式执行,其执行速度由于受到操作系统的自动控制,因此是无法预知的。,3,一个操作系统至少具有如下图所示的结构。引导系统就是在操作系统内核运行之前运行的一段小程序,其作用是初始化硬件设备、建立内存空间的映射图,并且为最终调用操作系统内核准备好正确的环境;内核是一个操作系统的核心,负责管理系统的进程、存储、设备和文件等,它决定着系统的性能

4、和稳定性;根文件系统并不是一个具体的文件类型,而是一个理论性的概念,它作为VFS(Virtual Filesystem Switcher)的根节点,可以帮助后者管理文件系统。VFS是内核中提供的一种软件机制,能够提供实际各个文件系统的挂载点。,4,第一节 Linux内核定制、裁剪和添加 一、概述,内核源码安装 将ARM Linux 系统内核源码安装到操作系统之中不仅可以方便学习内核的相应内容,而且具有帮助编译驱动程序等功能。完整的内核一般规模较大,可以从官方网站http:/www.kernel.org下载。下载的内核一般是tar.gz或者是.bz2压缩文件,使用时需要解压。在编译内核注意需要r

5、oot权限。以下为内核源码的安装步骤:1)将需要升级的内核拷贝到/usr/src/下:#cp linux-2.4.18.tar.gz /usr/src2)解压下载的源程序文件,命令如下所示:#tar -zxvf linux-2.4.18.tar.gz3)文件将解压到/usr/src/linux目录中,建立链接:#ln -s linux-2.4.18 linux,5,第一节 Linux内核定制、裁剪和添加 一、概述,第一节 Linux内核定制、裁剪和添加 一、概述,内核版本号说明 可以使用uname a命令或者cat /proc/version命令来查看系统的内核版本号,如下图所示。该系统内核版

6、本号为2.4.20-8。其中第一个数字为主版本号,第二个数字为次版本号,第三个数字为修订号。如果次版本号为偶数,则表明是该版本是稳定发行版本;如果次版本号是奇数,则说明该系统内核仍在开发中。,6,现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等几个功能模块组成。Linux内核源码的各个目录大致与此相对应,如下图所示。,第一节 Linux内核定制、裁剪和添加 二、内核目录介绍,7,内核源码目录说明,8,第一节 Linux内核定制、裁剪和添加 二、内核目录介绍,1配置文件给用户提供配置选择的功能,主要包括如下配置文件,9,第一节 Linux内核定制、裁剪和添加 三、配置文件和配置

7、工具,2配置工具用来进行相关配置的工具,包括配置命令解释器,其中配置用户界面如下:(1)基于字符的界面 使用命令: Make config 该方法简单且不需要调用Xwindows,不过操作麻烦,用户界面不友好。,10,第一节 Linux内核定制、裁剪和添加 三、配置文件和配置工具,(2)基于Ncurses的文本模式图形用户界面使用命令: makemenuconfig 该方法简单且不需要调用Xwindows,而且操作简单,用户界面友好后面的实验就使用该方法进行内核的相关配置。,11,第一节 Linux内核定制、裁剪和添加 三、配置文件和配置工具,(3)基于Xwindows图形界面的用户配置界面使

8、用命令: Make xconfig,12,第一节 Linux内核定制、裁剪和添加 三、配置文件和配置工具,1在该级目录下的Config.in中添加对该模块的编译条件,该变量可以设置为三种状态 Y-将该功能模块编译进内核 N-不将该功能模块编译进内核M-将该功能编译成模块方式,可以在需要时动态插入到内核中的模块,13,第一节 Linux内核定制、裁剪和添加 四、内核的编译命令,2内核的编译操作下面给出了用于内核编译的主要命令:# make menuconfig -配置编译选项# make dep -提供变量依赖关系信息. # make clean -删除生成的模块和目标文件. # make zI

9、mage -编译内核生成压缩的映象. # make modules -编译模块. # make modules_install -安装编译完成的模块.编译完成之后最终生成的压缩内核映象的路径为arch/arm/boot/zImage,之后拷贝新内核文件zImage到启动目录,并改为合适的名字,即可启动新完成的内核镜像。,14,第一节 Linux内核定制、裁剪和添加 四、内核的编译命令,内容:一、引导系统概述 简单介绍引导系统的概念和模式二、Linux的Bootloader vivi与uboot vivi和uboot作为ARM平台常用的引导程序,具有结构简单但是功能强大的特点,第二节 嵌入式引导

10、系统(BootLoader)技术,15,1引导系统介绍所谓的引导程序(BootLoader),即系统加电后运行的第一段软件代码。一般来说嵌入式系统的Bootloader负责加载整个启动任务。整个过程包括初始化硬件设备、建立内存空间的映射图、配置合适的软硬件环境以便能够调用操作系统的内核。,第二节 嵌入式引导系统(BootLoader)技术 一、引导系统概述,16,2引导系统的操作模式大多数引导系统都包含两种不同的操作模式: 启动加载模式 下载模式1)启动加载模式启动加载模式也称为“自主”(autonomous)模式。引导系统从目标机上的某个固态存储设备中将操作系统加载到 RAM 中运行。这种模

11、式是引导系统的正常工作模式。2)下载模式在下载模式下,目标机上的引导系统将通过串口连接或网络连接等通信手段从主机下载文件。从主机下载的文件通常首先被引导系统保存到目标机的RAM中,然后再被引导系统写到目标机上的FLASH类固态存储设备中。这种模式通常在第一次安装内核与根文件系统时使用;此外,以后的系统更新也会使用引导系统的这种工作模式。,第二节 嵌入式引导系统(BootLoader)技术 一、引导系统概述,17,3. 引导系统的主要任务与典型结构框架 大多数引导系统都分为 stage1 和 stage2 两大部分。依赖于处理器体系结构和板级初始化的代码通常都放在 stage1 中,用汇编实现;

12、而 stage2 则通常用C语言来实现,这样可以实现更复杂的功能,同时代码具有更好的可读性和可移植性。,第二节 嵌入式引导系统(BootLoader)技术 一、引导系统概述,18,引导系统的 stage1:1)硬件设备初始化。2)为加载引导系统的 stage2 准备 RAM 空间。3)拷贝引导系统的 stage2 到 RAM 空间中。4)设置好堆栈。5)跳转到 stage2 的 C 入口点,引导系统的 stage2 :1)初始化本阶段要用到的硬件设备。2)检测系统内存映射(memory map)。3)将内核映像和根文件系统映像从 flash 上读到 RAM 空间中。4)为内核设置启动参数。5)

13、调用内核。,1vivi的常用命令 帮助命令vivi help 显示启动参数vivi param show 启动参数帮助vivi param help 设置参数vivi param set boot_delay 10000000Change boot_delay value. 0 x00989680(10000000) to 0 x00989680(10000000)vivi param save,第二节 嵌入式引导系统(BootLoader)技术 二、 Linux的Bootloader vivi与uboot,19,1vivi的常用命令 显示分区帮助vivi part help 显示分区vivi

14、 part show 存储器分区vivi bon help 引导帮助vivi boot help 启动操作系统vivi boot,第二节 嵌入式引导系统(BootLoader)技术 二、 Linux的Bootloader vivi与uboot,20,2Uboot 的常用命令1)protect:protect命令用于对Flash进行写保护,可以使能和解除写保护。2)erase:erase命令可以擦除Flash。3)setenv:setenv命令可以设置环境变量。4)printenv:printenv命令可以打印全部环境变量,也可以只打印参数中列出的环境变量。5)tftpboot:tftpboot

15、命令能够使用TFTP协议通过网络下载二进制格式的文档。另外,使用这个命令,必须配置好相关的环境变量。例如serverip和ipaddr。其命令格式为:tftpboot loadAddress bootfilename6)bootm:bootm命令可以引导启动存储在内存中的程序映像。这些内存包括RAM和可以永久保存的Flash。其命令格式为:bootm addr arg .,第二节 嵌入式引导系统(BootLoader)技术 二、 Linux的Bootloader vivi与uboot,21,2Uboot 的常用命令6)bootm:bootm命令可以引导启动存储在内存中的程序映像。这些内存包括R

16、AM和可以永久保存的Flash。其命令格式为:bootm addr arg .7)go:go命令能够执行应用程序。其命令格式为:go addr arg .8)loadb:loadb命令能够通过串口线下载二进制格式的文档。其命令格式为:loadb off baud 9)loads:loads命令可以通过串口线下载S-Record格式的文件。10)flinfo:flinfo命令打印全部Flash组的信息,也可以只打印其中某个组的信息。一般嵌入式系统的Flash只有一个组。11)cp:cp命令可以在内存中复制数据块,包括对Flash的读写操作。,第二节 嵌入式引导系统(BootLoader)技术 二

17、、 Linux的Bootloader vivi与uboot,22,2Uboot 的常用命令12)cmp:cmp命令可以比较两块内存中的内容。.b表示以字节为单位;.w表示以字为单位;.l表示以长字为单位。13)mw:mw命令可以按照字节、字、长字写内存,.b ,w,l的用法与cp命令相同。14)nfs:nfs命令可以使用NFS网络协议通过网络启动映像。15)nm:nm命令用于修改内存,可以按照字节、字、长字操作。 16)run:run命令可以执行环境变量中的命令,后面参数可以是几个环境变量名。17)sleep:sleep命令可以延迟N秒钟执行,N为十进制数。,第二节 嵌入式引导系统(BootL

18、oader)技术 二、 Linux的Bootloader vivi与uboot,23,内容:一、文件系统概述包括根文件系统的概述以及根文件系统的目录结构二、BusyBoxBusyBox的介绍以及相关命令,第三节 文件系统的构建,24,1根文件系统描述Linux引导启动时,默认使用的文件系统是根文件系统。装载根文件系统也是引导系统启动过程的最后一个步骤。文件系统包含两大类:根文件系统和附加文件系统。根文件系统是操作系统至少应该引导的一个文件系统,它包含了构建整个操作系统的基本程序和相关目录附加文件系统则是除了根文件系统之外的所有文件系统,本身无法直接使用,需要挂载到根文件系统的某个目录下方可使用

19、。,第三节 文件系统的构建 一、文件系统概述,25,第三节 文件系统的构建 一、文件系统概述,26,2根文件系统目录结构 根文件系统呈倒挂树状层次结构,一般包括如下几个目录:/etc、 /dev、/usr、/bin、 /var等。 如下图所示:,第三节 文件系统的构建 一、文件系统概述,27,各目录功能如下:,1BusyBox介绍BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the

20、utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fai

21、rly complete environment for any small or embedded system.事实上,BusyBox提供了相当多的工具。从最简单的显示工具到最强大的搜索工具,BusyBox把这些工具存放在/bin和/sbin目录之下,并且建立一个能够使用这些工具的链接。,第三节 文件系统的构建 二、BusyBox,28,2. BusyBox的相关命令BusyBox的相关配置和编译内核类似,需要首先使用make menuconfig命令进行手工配置。敲下make menuconfig命令之后,进入如下界面:,第三节 文件系统的构建 二、BusyBox,29,2. BusyB

22、ox的相关命令BusyBox其他命令包括:help显示 make 选项的完整列表defconfig启用默认的(通用)配置allnoconfig禁用所有的应用程序(空配置)allyesconfig启用所有的应用程序(完整配置)allbareconfig启用所有的应用程序,但是不包括子特性config基于文本的配置工具menuconfigN-curses(基于菜单的)配置工具all编译 BusyBox 二进制文件和文档(./docs)busybox编译 BusyBox 二进制文件clean清除源代码树distclean彻底清除源代码树sizes显示所启用的应用程序的文本/数据大小,第三节 文件系统

23、的构建 二、BusyBox,30,本章主要介绍了三个部分,分别是嵌入式linux内核、引导系统介绍和文件系统等相关内容。在内核部分详细介绍了Linux操作系统内核定制、裁剪和添加;引导部分则介绍了嵌入式BootLoader技术;最后的文件系统部分详细介绍了文件系统的构建。章节的最后部分将构建Floppylinux作为一个综合应用实验,试图让读者更加深入理解上述3块内容。,小结,31,1. 请简述操作系统的结构。2. 请简述操作系统的特点并举例说明。3. 请列举出Linux内核源码的所有文件夹,并且说明每个文件夹的意义。4. 请列举出Linux有关内核镜像的三种编译方法,并陈述每个方法的特点。5. 请简述Linux引导系统过的两种操作模式并分别说明。6. 请列举出根文件系统的所有目录,并且分别说明每个文件夹的含义。7. 请阐述Linux内核编译的选项和BusyBox编译选项之间的区别。8. 请完成本章的综合实验FloppyLinux。9. 请尝试完成基于U盘的Linux系统。,习题,32,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号