构建Linu根文件系统课件.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第三章构建Linux根文件系统

预习检查常见Linux文件系统具有哪些子目录?列举你所了解的Linux根文件系统?

本章目标了解Linux的文件系统层次标准了解根文件系统下各目录的作用掌握构建根文件系统的方法掌握制作yaffs文件系统镜像文件的方法

Linux文件系统概述Windows下分区:C、D、E盘Linux下:根目录/、/bin、/homeLinux中并没有C、D、E等盘符的概念,它以树状结构管理所有目录、文件,其他分区挂接在某个目录上,这个目录被称为挂接点或安装点(mountpoint),然后就可以通过这个目录来访问这个分区上的文件。Linux下文件系统类型在一个分区上存储文件时,需要遵循一定的格式,这种格式称为文件系统类型比如:fat16、fat32、ext2、ext3、jffs2、yaffs等

Linux根文件系目录结构FHS:filesystemhierarchyStandard使Linux文件系统布局实现标准化

FHS目录结构/dev设备文件/dev/console系统控制台/dev/mtdblock*mtd块设备/dev/tty设备虚拟控制台/dev/ttySAC*串口设备文件

FHS目录结构/proc,/sys属于内存文件系统包含一些系统相关的信息/bin和/sbin用于存放可执行文件sbin是指只有root权限才可以执行/lib用于存放动态链接共享库的地方也包含静态库

FHS目录结构/etc/etc/rc或rc.d启动和改变运行级别时运行的脚本的目录/etc/passwd存放用户基本信息的文件/etc/fstab启动时需要自动安装的文件系统列表

FHS目录结构/etc/inittabinit程序的配置文件

文件存放规则把全局配置文件放入/etc目录下把设备结点放入/dev目录下,或者是/dev的子目录下库存放的目录是/lib存放编译后的可执行文件,目录是/bin,/sbin,/usr

/lib下的共享库文件来自何处?glibc的共享库标准的GNUClib的动态库uclibc的共享库用于uclinux的动态库Size比较小,常用于嵌入式系统从交叉编译工具的目录中取来

Linux文件类型

常用Linux根文件系统类型NFS(NetworkFileSystem)网络文件系统开发阶段常用的根文件系统,需要网络支持开发主机负责导出目标板的根文件系统目标板内核必须支持NFS作为根文件系统Ext2overRamdisk:目标板内核必须支持ext2的文件系统需要存储介质JFFS/JFFS2目标板内核必须支持jffs/jffs2的文件系统需要MTD,NorFlashYAFFS/YAFFS2目标板内核必须支持yaffs/yaffs2的文件系统需要MTD,NandFlash其他cramfs,cromfs,等等

Busybox简介1996年,集成了一百多个Linux的常用命令和工具软件支持glibc和uclibc支持静态库和动态库两种方式减小常用命令所占有存储空间,简化嵌入式根文件系统的制作

内核启动init进程的过程init进程位于init/main.c,内核启动init进程的过程如下:(1)打开标准输入、标难输出、标准错误设备。(2)如果ramdisk_execute_command变量指定了要运行的程序,启动它。(3)如果execute_command变量指定了要运行的程序,启动它。(4)依次尝试执行/sbin/init、/etc/init、/bin/init、/bin/sh。

Busyboxinit程序流程

/etc/inittabBusyboxinit程序解析/etc/inittab文件,然后按照它的指示创建各种子进程;否则使用默认的配置创建子进程。/etc/inittab文件中每个条目用来定义一个子进程,并确定它的启动方法。格式如下:id:runlevels:action:process例如:ttySAC0::askfirst:-/bin/sh

/etc/inittab/etc/inittab文件,各字段的作用:①id:表示这个子进程要使用的控制台(即标准输入、标准输出、标准错误设备)。如果省略,则使用与init进程一样的控制台。②runlevels:对干Busyboxinit程序,这个字段没有意义,可以省略。③action:表示init进程如何控制这个子进程,有如表17.6所示的8种取值。④process:要执行的程序,它可以是可执行程序,也可以是脚本。

/etc/inittab文件action字段的意义

Step1.解压缩文件

Step2使用makemenuconfig#makemenuconfig

连接/编译选项选定使用静态连接:指定

文档评论(0)

181****8378 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档