第七章 文件系统与QT编程.pptVIP

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

第七章 文件系统与QT编程 合肥学院 电子信息与电气工程系 干开峰 目 录 7.1 制作Linux根文件系统 7.2 Qtopia Core应用程序设计 7.1.1 根文件系统组织结构 7.1.2 INIT系统初始化过程 7.1.3 定制文件系统 7.1.1 根文件系统组织结构 一、Linux的根文件系统至少应包括以下几项内容。 1.基本的文件系统结构,包含一些必需的目录比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp等。 2.基本程序运行所需的库函数,如Glibc/uC-libc。 3.基本的系统配置文件,比如rc,inittab等脚本文件。 4.必要的设备文件支持:/dev/hd*,/dev/tty*,/dev/fd0。 5.基本的应用程序,如sh,ls,cp,mv等。 二、Linux根文件系统结构 文件存放规则: 1.把全局配置文件放入/etc目录下。 2.将设备文件信息放入/dev目录下,设备名可以作为符号链接定位在/dev中或/dev子目录中的其他设备存在。 3.操作系统核心定位在/或/boot,若操作系统核心不是作为文件系统的一个文件存在,不应用它。 4.库存放的目录是/lib。 5.存放系统编译后的可执行文件、命令的目录是/bin,/sbin,/usr。 三、 添加系统文件 1、 添加共享链接库 在在根文件系统的/lib目录下主要包含以下4种类型的文件。 (1) 实际的共享链接库 (2)主修订版本的符号链接 (3)与版本无关的符号链接指向主修订版本的符号链接 (4)静态的链接库 为了明确应用程序需要的链接库,使用ldd命令。 通常,开放源码的程序或者函数库都会默认安装到/usr/local目录的相应位置。 添加共享链接库文件的方法: Cd /lib Cp *_*.so /rootfs/lib Cp -d *.so.[*0-9] 第一个CP复制实际的共享链接库 第二个CP复制主修订版本的符号链接 2、添加内核模块 在内核编译过程中自动添加内核模块 动态添加内核模块 动态加载内核模块有2种方法,以下分别叙述。 (1)采用modprobe命令加载 (2)采用insmod命令加载 3、 添加设备文件 Linux中任何对象(包括设备)都可以认为是文件。Linux将设备分为最基本的2大类:一类是字符设备(Character Device),另一类是块设备(Block Device)。 1.使用mknod指令来添加设备 2.在/dev目录下采用MAKEDEV(符号链接/sbin/MAKEDEV)来建立设备文件 7.1.2 INIT系统初始化过程 通常,Linux内核的启动可以分为两个阶段。 1. 在第1个阶段完成硬件检测、初始化和内核的引导 2.在第2个阶段就是init的初始化进程。 一、 inittab文件 Linux启动时,运行一个叫作init的程序,然后根据运行级启动后面的任务,包括多用户环境,网络等。所谓的运行级就是操作系统当前正在运行的功能级别。 二、 System V init启动过程 概括地讲,Linux \Unix系统一般有两种不同的初始化启动方式。 BSD system init System V system init 以下是一个大致的System V init过程。 (1)init过程执行的第一个脚本文件是/etc/rc.d/rc.sysinit, /etc/rc.d/rc.sysinit主要做在各个运行级别中进行初始化工作 (2)执行缺省的运行级模式。 (3)执行/etc/rc.d/rc.local脚本文件。 (4)执行/bin/login程序。 三、 Busybox init启动过程分析 默认的情况下,Busybox安装之后会生成一个可执行程序Busybox,在目录…/_install/bin下,查看Busybox的属性可以知道/sbin/init是其符号链接,如果使用Busybox做Ramdisk,BusyBox会在内核刚完成加载后就立即启动,此后Busybox会跳转到它的init进程开始执行 7.1.3 定制文件系统 一、定制应用程序 在定制嵌入式系统的系统应用程序时,如果把常用的应用程序的源码都下载来交叉编译,这一过程的工作量显然是很大的,而且非常繁琐。为了进一步减小所创建的根文件系统的尺寸,可以考虑使用下列工具包软件来替代某些标准的工具。 事实上使用Busubox来定制是一个不错的选择 二、 配置应用程序自动启动 在Linux下配置应用程序自动启动大致有以下的3种方法。 (1)在启动/etc/init.d/下添加启动脚本,创建/etc/rc.d/.../目录下的链接。 (2)直

文档评论(0)

cxiongxchunj + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档