构建嵌入式linux系统-根文件系统.ppt
《构建嵌入式linux系统-根文件系统.ppt》由会员分享,可在线阅读,更多相关《构建嵌入式linux系统-根文件系统.ppt(31页珍藏版)》请在三一办公上搜索。
1、嵌入式Linux移植,广东省嵌入式软件公共技术中心2007年7月14日,根文件系统,文件系统在磁盘上组织文件的方法;不同的操作系统都有一种把数据保存为文件和目录的方法(不同文件系统);如:windows操作系统中,不同的磁盘分区有独立的根目录,并且用唯一的驱动器标识符表示,比如C:,D:等;Linux的文件系统组织和windows不同,它的文件系统是一个整体,把所以的文件系统结合成一个完整的统一体,这就是linux的根文件系统。,课程内容,根文件系统介绍制作根文件系统Init程序启动流程,什么是Linux根文件系统,使用Linux的时候,通过命令“ls/”就会发现:在/下包涵很多的目录,比如e
2、tc、usr、var、bin.等目录;而在这些目录中还有很多的目录或文件;文件系统在Linux下看上去就象树形结构,所以可以把文件系统的结构形象的称为树形结构。linux文件系统的最顶端是“/”;我们称“/”为Linux的根,也就是 Linux操作系统的根文件系统。Linux的文件系统的入口就是“/”,所有的目录、文件、设备都在“/”之下。,根文件系统目录结构,Linux遵守文件系统科学分类标准(FHS),一个定义许多文件和目录的名字和位置的标准。一个linux的根文件系统目录结构如下:/Linux文件系统的入口,也是处于最高一级的目录;/bin 系统所需要的那些命令位于此目录,比如 ls、c
3、p、mkdir等命令;这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里/boot Linux的内核及引导系统程序所需要的文件目录;如内核的映像文件,启动加载器(GRUB);,根文件系统目录结构,/dev 设备文件存储目录,比如声卡、磁盘./etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如/etc/inittab是init进程的配置文件,etc/fstab是用来指定启动时需要自动安装的文件系统列表。/home 普通用户家目录默认存放目录;/lib 库文件存放目录/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cd
4、rom 等目录。,根文件系统目录结构,proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录;/root Linux超级权限用户root的目录;/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,如ifconfig/tmp 临时文件目录/usr 这个是系统存放程序的目录,比如命令、帮助文件等。/var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件。,文件存放规则,为了实现各种linux版本系统的标准
5、化,各种版本的linux系统都会遵循FHS标准;主要规则如下:配置文件放在/etc目录下;设备文件放在/dev目录下;库文件放在目录/lib目录下;存放系统编译后的可执行文件、命令的目录是/bin、/sbin、/usr/bin、/usr/sbin目录,最少的目录,在嵌入式系统中,根目录下的很多目录都可以删除,如下:为多用户提供可扩展环境的所以目录都应该删除;如(/home,/mnt,/root)根据引导加载情况,/boot目录可以删除。其余的目录/bin,/dev,/etc,/proc,/sbin,/usr,/lib都是不可缺少的。,构建根文件系统,Linux的根文件系统包括支持linux系统
6、正常运行的基本内容,至少应包括以下几项内容:基本的文件系统结构,如bin、dev、etc、sbin,lib、usr、proc。基本程序运行所需的动态库。基本的系统配置文件。必要的设备文件支持。基本的应用程序,如sh、ls、cp等构建根文件系统就是往相应的目录添加相应的文件。如:在/dev添加设备文件,在/etc添加配置文件,在/bin添加命令或者程序,在/lib添加动态库等。,添加设备文件,Linux对所有外部设备的访问都是以文件的形式来进行;在Linux系统中,可以找到设备对应的文件,称为设备文件;设备文件(也叫做设备节点)都存放在/dev的目录下;,添加设备文件,在/dev目录下,建立设备
7、文件的命令是mknod;如:mknod/dev/led c 231 0上面例子中“/dev/led”是设备文件路径;“c”是指定为字符设备;“231”是主设备号;“0”是次设备号。Linux系统是靠主、次设备号来联系驱动程序和设备文件的;在内核源码树中,Documentation/devices.txt 文件描述了常用的linux驱动程序的主、次设备号;,添加设备文件,Linux内核完全可以自己管理设备文件,这就是设备文件系统(devfs);设备文件系统可以在配置内核时定制;其层次是make menuconfig-File systems-Pseudo file-system-/dev fil
8、e system support;内核启动的时候就会把设备文件系统挂载到/dev目录下;有了设备文件系统,linux设备文件的创建、删除都由各自设备驱动程序管理,不再需要用mknod命令来添加设备文件了;,添加动态库,应用程序的运行需要动态链接库,交叉编译的应用程序需要交叉编译的动态库;假如我们用的工具链的路径是,链接库的目录是/usr/local/arm/3.3.2/arm-linux/lib;此目录下有四种类型的文件:实际的共享链接库,如:libc-2.3.2.so 主修订版本的符合链接,如:libc.so.6 与版本无关的符合链接,如:libc.so 静态链接库包文件,如:libc.a应
9、用程序的运行只依赖于:实际的共享链接库和主修订版本的符合链接;因此,在构建嵌入式根文件系统中,只需添加以上两种库文件。,添加动态库,在向目标板的根文件系统复制动态库之前,必须找出应用程序需要那些动态库;下面介绍几个主要的动态链接库:ld动态链接器libc 主C链接库libcrypt秘密学链接库libdl用来动态加载共享文件的动态库libm数学库libpthread多线程库,添加动态库,除了记下应用程序连接了哪些链接库之外,还可以通过arm-linux-readelf命令来找出应用程序依赖于哪些动态链接库;如:arm-linux-readelf-d hello;/hello只是打印一句“hell
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构建 嵌入式 linux 系统 文件系统

链接地址:https://www.31ppt.com/p-6474629.html