第6章-嵌入式linux文件系统



《第6章-嵌入式linux文件系统》由会员分享,可在线阅读,更多相关《第6章-嵌入式linux文件系统(41页珍藏版)》请在装配图网上搜索。
1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,嵌入式文件系统,2,提纲,1,、嵌入式,Linux,文件系统简介,2,、,Linux,文件系统框架和特性,3,、嵌入式文件系统实验,实验一:建立文件系统,实验二:,NFS,文件系统实验,实验三:,Samba,介绍与应用,3,1.,嵌入式,Linux,文件系统简介,嵌入式文件系统与桌面文件系统有较大区别:,嵌入式文件系统要为嵌入式系统的设计目的服务,不同用途的嵌入式操作系统下的文件系统在许多方面各不相同。,嵌入式,L
2、inux,常用文件系统:,第二版扩展文件系统(,Ext2fs,)、,JFFS,和,YAFFS,4,1.1,嵌入式文件系统的设计目标,嵌入式文件系统的设计目标包括:,使用简单方便,安全可靠,实时响应,接口标注的开放性和可移植性,可伸缩性和可配置性,开放的体系结构,资源有效性,功能完整性,热插拔,支持多种文件类型,5,1.2,嵌入式,Linux,常用文件系统,Flash Memory,简介,Flash Memory,上的两种技术,NAND,:串行;顺序读取;适合大容量;通常需,MTD,NOR,:,并行;随机读取;适合数据或程序存储;,XIP,;,Xsbase,开发平台上所使用的闪存,Intel S
3、trataFlash Memory 28F128J3A,Ext2fs,、,JFFS,和,YAFFS,ext,、,ext2,、,xia,、,vfat,、,minix,、,msdos,、,umsdos,、,proc,、,smb,、,ncp,、,iso9660,、,sysv,、,hpfs,、,affs,、,ufs,、,vfs,等,6,第二版扩展文件系统(,Ext2fs,)的优点,Ext2fs,支持达,4 TB,的内存(,Ext,是,2G,)。,Ext2fs,文件名称最长可以到,1012,个字符。,当创建文件系统时,管理员可以选择逻辑块的大小(通常大小可选择,1024,、,2048,和,4096,字节
4、)。,Ext2fs,实现快速符号链接:不需要为此目的而分配数据块,并且将目标名称直接存储在索引节点表中,这使性能有所提高,特别是在速度上。,7,JFFS,和,YAFFS,JFFS,文件系统主要针对,NOR FLASH,设计,是一种基于,Flash,的日志文件系统。,JFFS2,的底层驱动主要完成文件系统对,Flash,芯片的访问控制,如读、写、擦除操作。,YAFFS,主要针对,NAND FLASH,设计,和,JFFS,相比它减少了一些功能。自带,NAND,芯片驱动,并且为嵌入式系统提供了直接访问文件系统的,API,。,YAFFS2,是,YAFFS,的改进版本。,8,2.Linux,文件系统框架
5、和特性,现代操作系统都提供多种访问存储设备的方法,Linux,文件系统有两条独立控制设备驱动的途径:,通过设备驱动的接口,通过文件管理器接口,9,Linux,文件系统框架,10,3.,文件系统实验,实验一建立文件系统,建立,JFFS2,文件系统,建立,RAMFS,文件系统,实验二,NFS,文件系统实验,实验三,Samba,介绍与应用,11,实验一:,建立文件系统,JFFS2,(,1,),JFFS2,在,Linux,中有两种使用方式:,作为根文件系统,作为普通文件系统在系统启动后被挂载,目录采用,Ramfs,,当系统断电后,该目录所有的数据都会丢失。,Linux,下常用文件系统结构:,12,13
6、,实验一:,建立文件系统,JFFS2,(,2,),1,)内核配置,General Setup,项设成 “,root=1f03 rw console=ttyS0,115200 init=/linuxrc”,通过,MTD,驱动在,menuconfig,中调用,flash memory,设备驱动,选择,CFI Flash device mapped on the XSBASE255 PXA255 board,14,实验一:,建立文件系统,JFFS2,(,3,),2,),JFFS2,映像生成,Jffs2 image,通过,mkfs.jffs2,工具创建成,image,mkfs.jffs2,用法:,-e
7、,选项确定闪存的擦除扇区大小(通常是,64,K,)。,-p,选项用来在映像的剩余空间用零填充。,-o,选项用于输出文件,这里是,rootfs.img,利用,bootloader,将生成的,rootfs.img,下载后写入,flash,再次重起开发板,内核就能加载,JFFS2,作为根文件系统,./mkfs.jffs2 o rootfs e 0 x400000 r root_XSBASE p-l,15,实验一:建立文件系统,RAMFS,(,1,),RAMFS,是内存文件系统,它工作于虚拟文件系统(,VFS,)层,RAMFS,是一个非常巧妙的,利用,VFS,自身结构而形成的内存文件系统,16,实验一
8、:建立文件系统,RAMFS,(,2,),1,)使用主机的,loopback,设备来实现,loopback,文件系统,用,dd if=/dev/zero of=ramdisk_img bs=1k count=8192,指令创建一个连续的,8M,大小的空间,将此空间用,mke2fs,格式化,为了对格式化的空间进行,mount,,创建一个目录,/tmp,在,tmp,目录里复制或创建设置文件,util,library,等,将工作目录进行,umount,,再用,gzip,压缩,则生成,ramdisk_img.gz,文件,将此加载到,bootloader,,则新的,ramdisk,可用作根文件系统。,17
9、,实验一:建立文件系统,RAMFS,(,3,),修改一些内核配置,XSBase255,中,setup_initrd(),的,0 xA1000000,成为,SDRAM,的,ramdisk,地址,,ramdisk,要下载到,Bootloader,中的这个地址,CONFIG_BLK_DEV_RAM_SIZE,是,menuconfig,中设定的“,Default RAM disk size”,大小,修改,Default Kernel command string,为:“,root=/dev/ram rw console=ttyS0,115200 init=/linuxrc”,。用于重新引导系统。,18
10、,19,20,实验二,NFS,文件系统实验(,1,),NFS,是用于在不同机器,不同操作系统之间通过网络互相分享文件 的,建立,NFS,开发环境的工作分为两个方面:,配置,NFS,服务器和配置客户端,基本的命令格式,Mount,的基本命令格式如下:,Umount,的基本命令格式:,mount-t type-rv-o option server:pathname/mount_point,umount-dflnrv dir|device.,21,实验二,NFS,文件系统实验(,2,),配置,NFS,服务端,在,Host PC,上打开,/etc/exports,文件,并进行如下设置:,把,/mnt/
11、nfs,设置完成后重新开始,NFS deamon,rootXSBase home#vi/etc/exports,/mnt/nfs (rw,no_root_squash),rootXSBase home#/etc/rc.d/init.d/nfs stop,rootXSBase home#/etc/rc.d/init.d/nfs start,22,实验二,NFS,文件系统实验(,3,),配置,NFS,客户端,NFS,客户端是开发板,所以要让开发板上的内核支持,NFS,,必须重新配置内核生成,zImage,镜像文件,并下载到板子上。,通过,make menuconfig,指令在,kernel,设置窗
12、进行,NFS,设置,menuconfig,窗口打开后,确认,NFS,设置是否被选上,重新编译内核,新的内核下就可以使用,nfs,命令了,File systems -,Network File Systems -,NFS file system support,*Provide NFSv3 client support,Root file system on NFS,23,实验二,NFS,文件系统实验(,4,),挂载,NFS,文件系统,开发板上进行,mount,操作,把,PC,上的某个目录挂载上来:,把,Host PC,的,/mnt/nfs,目录,mount,到开发板的,/mnt,目录下使用。是
13、,PC,的,ip,。,接下来就可以在新,mount,上来的目录下做各种操作,挂载工作完成,rootxsbase255#mount,t nfs 192.168.1.1:/mnt/nfs /mnt,rootxsbase255#cd/mnt,24,实验二,NFS,文件系统实验(,5,),如果出现没法,mount,上去的情况,可以按照以下步骤进行检查:,用,rpcinfo-p server_name,去查看此,server,是否存在,用,rpcinfo-u server_name mount,查看,mountd daemon,是否有在,server,上执行,假如,server,都没问题,检查,serv
14、er,和,client,之间的网线连接,在,client,上用,ps ax,查看,portmap,和对应的,NFS daemons,是否运行,打开服务端,PC,上的,/var/lib/nfs/rmtab,文件,,清,空内容,重起,NFS,服务,25,实验二,NFS,文件系统实验(,6,),加载,NFS,为根文件系统,1,)重新配置内核,在,General setup,里面重新设置,Default kernel command string,的值,在,Network File Systems,选项中需要选中“,Root file system on NFS”,在,Block devices,选项
15、中把“,RAM disk support”,选项去除,选中“,Network block device support”,配置完内核,重新,make zImage,,生成新的镜像,26,27,28,29,2,)配置服务端,PC,/tftpboot,目录下新增子目录,pxa255,,用作新的根文件系统,把原文件系统下的文件拷贝到,/tftpboot/pxa255,中,重新编辑,/etc/exports,文件如下:,重新启动,NFS,服务,$vi/etc/exports,/tftpboot/pxa255(rw,no_root_squash),30,3,)重起开发板,使用,tftp,协议加载新的内核
16、镜像,系统启动后,使用,boot,命令直接引导,4,)确认新的根目录是否是,PC,端的,/tftpboot/pxa255,目录,31,实验三,Samba,介绍与应用,Samba,介绍,Samba,是一组软件包,使,Linux,支持,SMB,(服务消息块)协议,该协议由,TCP/IP,实现,它是,windows,网络文件和打印共享基础,samba,的核心是两个守护进程,smbd,和,nmbd,程序,在服务器启动到停止期间持续运行。,Smbd,进程的作用是处理到来的,SMB,软件包,为使用该软件包的资源与,Linux,进行协商,,nmbd,进程使其它主机(或工作站)能浏览,Linux,服务器。,一个完整的,smb.conf,一般由,Global settings,和,share Definitions,两部分组成,32,思考:使用,BusyBox,构建根文件系统,Busybox,是,Debian GNU/Linux,的大名鼎鼎的,Bruce Perens,首先开发,。后来又有许多,Debian developers,贡献力量,这其中尤推,busybox,目前的维护者,Erik Anders
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。