linux下根文件系统的制作.ppt
《linux下根文件系统的制作.ppt》由会员分享,可在线阅读,更多相关《linux下根文件系统的制作.ppt(50页珍藏版)》请在三一文库上搜索。
1、linux实践考察 linux下根文件系统的制作,一、课题名称: linux下根文件系统的制作,二、课题要求: 以文档形式给出具体的操作步骤,三、根文件系统 1.根文件系统的结构,根文件系统是Linux内核启动后第一个挂载的文件系统。在根文件系统中存放着内核镜像、各种系统配置文件以及一些其他的重要文件(例如设备文件、命令程序等)。为了保证通用性,根文件系统的目录结构需要遵守FHS(文件系统层次标准)标准(Filesystem Hierarchy Standard)。FHS标准定义了根文件系统中每个目录名称及其作用的规则规范。如下图所示的是一个符合FHS标准的根文件系统:,下表是一个根文件系统中
2、所需的主要目录。,制作根文件系统的基本方法就是创建各个目录以及目录中的文件。创建目录是非常简单的,既可以通过命令mkdir来创建,也可以在图形界面直接创建。但命令方式比图形方式的效率要高。,2.创建根文件系统: 具体的步骤如下所示。,step 1 创建目录。 step 2 创建必要的设备文件。 step 3 安装所需的共享库。 step 4 安装init文件、Shell和各种基本命令(可由busybox提供)。 step 5 创建和编辑配置文件。,2.1 创建目录,首先创建一个新的目录rootfs,作为整个根文件系统的根目录,如:,这里创建了一个rootfs目录。当根文件系统制作完成后,可以将
3、这个目录作为nfs服务的共享目录,这样目标机就能够通过网络挂载这个目录。,下面制作根文件系统的操作均对这个目录进行,所提到的绝对路径均以这个目录作为根目录,而不是主机自己的文件系统根目录。,接着根据FHS标准依次创建各个子目录,如下所示:,这些目录多数需要手动创建,其中有一些目录可在安装busybox时自动创建。一般来说,根文件系统内的主要目录和文件都会以root身份创建,因为将来挂载到目标机之后,文件的所有者和权限都保持不变,而这些文件在目录机上都是系统文件,应该是root所有的。,2.2 创建根文件系统中的设备文件、命令文件,在创建根文件系统中的设备文件、命令文件时,最简单的办法就是直接复
4、制桌面Linux系统中的文件。 (1)bin。bin目录下存放的是命令程序文件。在桌面Linux系统中包含了文件管理、系统管理和设置、磁盘管理等数百个命令文件。 具体操作如下所示:,上述命令的意思是指,将Linux系统中bin目录中的ls和date命令文件复制到rootfs/bin目录下。,(2)dev。dev目录下存放的是各种设备文件。 1)控制台设备。控制台终端用于显示各种信息,显示器是一种最常见的控制台终端。在linux系统中,控制台的设备文件是console。控制台在其他设备驱动初始化前就可以使用,因此常用来显示内核的启动信息。 2)虚拟控制终端。为了满足多用户多任务的需要,可以通过虚
5、拟控制终端来使用控制台终端。例如tty1、tty2、tty3文件等。 3)串口终端。串口终端是使用串行端口连接的终端设备。在Linux系统中常用的串口终端设备文件有ttyS0、ttyS1等。在Linux2.6内核中ttyS0文件称为ttySAC0。,串口终端可以被指定为控制台终端来使用。例如在内核启动参数中可以设置console=ttySAC0,也就是把串口终端设备ttySAC0作为控制台设备使用。,和创建bin目录下命令文件的方法相同,只需要把桌面Linux系统中dev目录下的设备文件复制到rootfs/dev目录下就可以了。如下所示:,这里-a参数用来保留文件的所有属性,否则cp命令将试图
6、从设备文件中读取内容并写入新文件。 在嵌入式系统中,出于某种需要可能不希望动态创建设备文件,这时,所需的设备文件就要用mknod命令预先在根文件系统内创建,或者将创建设备文件的命令写入系统的初始化脚本中。,有关mknod命令的介绍:,mknod :创建特殊文件 语 法 mknod必要参数选择参数主设 备号次设备号 功 能 建立一个目录项和一个特殊文件的 对应索引节点 建立的文件有三种 b:块设备 c:字符设备 p:管道文件 执行权限:超级用户 命令属性:系统设置,参数,必要参数 设备文件名 选择参数 -m 为新建立的文件设定默认权限 -help 显示帮助信息 -version 显示版本信息,(
7、3)lib。lib目录下存放的是函数库文件。在嵌入式 linux系统中可以根据实际的需要选择各种库文件。对于使用动态编译方式编译的C应用程序来说,以下两个库文件是必须的。,libc: 该库是C应用程序必须使用的基本C函数库。 ld-linux: 该库是动态链接器,提供动态链接函数库的功能。 直接从交叉编译器的lib目录下把以上库文件复制到文件系统的lib目录下,如下所示:,一般来说,一个共享库会对应着一个包含真正内容的文件,同时有若干个符号链接指向它,这样做是为了便于管理。在复制共享库的时候尽量保持这一模式,将应用程序所需的符号链接与包含真正内容的共享库文件一起复制过去。,除以上基本库之外,还
8、有以下一些其他的常用共享库:,libd1.so.2 libpthread.so.0 libutil.so.1,如果要使用域名解析相关的函数,则需要以下共享库:,libresolv.so.2 libnss_dns.so.2,如果要运行C+源码编译得到的应用程序,则还需要以下共享库:,libstdc+.so.5 libgcc_s.so.1,(4) etc。etc目录下存放的是Linux系统的配置文件,etc目录中的配置文件主要任务是负责文件系统的初始化工作。,1). 在etc/init.d下创建rcS文件 具体操作如下所示:,2)下面是一个初始化脚本的例子。,保存,退出注意此文件为脚本文件,供sh
9、ell执行,需用chmod开放它的执行权限。,需要提醒的是,这里设置了PATH环境变量,只是为了后续命令使用方便。,2.3 使用busybox,1.BusyBox介绍 busybox是嵌入式系统中常用的一个软件包,它把许多常用的Linux命令都集成到一个单一的可执行程序中,几乎只需要这一个可执行程序加上Linux内核就可以构建一个基本的Linux系统。busybox忽略了许多不常用的功能,因此非常小巧,并且是完全模块化的,可以很容易地在编译时增加或删除其中包含的命令。,2.BusyBox工作原理,BusyBox最初是为Debian GNU/Linux安装盘编写的。其目标是在一张软盘上创建一个可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 文件系统 制作
链接地址:https://www.31doc.com/p-2145877.html