2010-6-嵌入式文件系統(tǒng)



《2010-6-嵌入式文件系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《2010-6-嵌入式文件系統(tǒng)(87頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、Click to edit Master text styles,,Second level,,Third level,,Fourth level,,Fifth level,,87,TM,Click to Edit Master Title Style,,87,第,6,章 嵌入式文件系統(tǒng),2,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識(shí),,?,嵌入式,Linux,文件系統(tǒng)簡介,,?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實(shí)驗(yàn),,操作系統(tǒng)、內(nèi)核、文件系統(tǒng),操作系統(tǒng)?,,負(fù)責(zé)對(duì)計(jì)算機(jī)硬件直接控制及管理的系統(tǒng)軟件,,內(nèi)核,,操作系統(tǒng)的核心部分,,文件系統(tǒng),,操作系統(tǒng)用于明確磁盤或分區(qū)上的文件
2、的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤上組織文件的方法。,,操作系統(tǒng)中與管理文件有關(guān)的軟件和數(shù)據(jù)。,,屏蔽底層硬件的處理細(xì)節(jié),用戶可以按名字訪問數(shù)據(jù),,Linux,文件系統(tǒng)的特點(diǎn),Linux,的文件系統(tǒng),Vs. Windows,的文件系統(tǒng),,Windows,文件系統(tǒng),,以驅(qū)動(dòng)器的盤符為基礎(chǔ)的,,每一個(gè)目錄是與相應(yīng)的分區(qū)對(duì)應(yīng),,Linux,文件系統(tǒng),,一個(gè)文件樹,,它的所有文件和外部設(shè)備(如硬盤,光驅(qū)等)都是以文件的形式掛結(jié)在這個(gè)文件樹上,,總之,在,Windows,下,目錄結(jié)構(gòu)屬于分區(qū);,Linux,下,分區(qū)屬于目錄結(jié)構(gòu),Linux,的目錄結(jié)構(gòu),Linux,文件系統(tǒng)中的掛載(,mount,),實(shí)現(xiàn)硬件管理
3、手段和軟件目錄管理手段的統(tǒng)一,,每一個(gè)分區(qū)和某一個(gè)目錄相對(duì)應(yīng),,對(duì)目錄的操作就是對(duì)這個(gè)分區(qū)的操作,,把分區(qū)和目錄對(duì)應(yīng)的過程叫做掛載(,mount,),,這個(gè)掛載在文件樹中的位置就是掛載點(diǎn),,這種對(duì)應(yīng)關(guān)系可以由用戶隨時(shí)中斷和改變,mount,命令,功能:加載指定的文件系統(tǒng),,語法:,,mount [-,afFhnrvVw,] [-L<,標(biāo)簽,>] [-o<,選項(xiàng),>] [-t<,文件系統(tǒng)類型,>] [,設(shè)備名,] [,加載點(diǎn),],,,例如:,mount -t,vfat,/dev/hda1 /,mnt/c,,Linux,文件的類型,Linux,對(duì)目錄和設(shè)備都當(dāng)作文件來進(jìn)行處理,,分類,,普通文件
4、,,目錄文件,,鏈接文件,,設(shè)備文件,,1.,普通文件,如同,Windows,中的文件,,包括,,文本文件,,shell,腳本,,二進(jìn)制的可執(zhí)行程序,,各種類型的數(shù)據(jù),2.,目錄文件,目錄也是文件,,包含文件名和子目錄名以及指向那些文件和子目錄的指針,,,Linux,通過上下鏈接目錄文件系統(tǒng)來實(shí)現(xiàn)對(duì)整個(gè)文件系統(tǒng)的操作,,什么是根目錄?,3.,鏈接文件,又稱軟鏈接,符號(hào)鏈接,,類似于,Windows,中的“快捷方式”,,功能,,實(shí)現(xiàn)對(duì)不同的目錄、文件系統(tǒng)甚至是不同機(jī)器上的文件直接訪問,并且不需要重新分配磁盤空間,,命令格式:,,ln,[-s],source_path,,target_path,,
5、例如:,ln,-s,httpd.conf,httpd2.conf,4.,設(shè)備文件,Linux,把設(shè)備都當(dāng)作文件來進(jìn)行操作,,與設(shè)備相關(guān)的文件一般都在,/dev,目錄下,,塊設(shè)備文件,,字符設(shè)備文件,,塊設(shè)備,,數(shù)據(jù)的讀寫是以塊(如由柱面和扇區(qū)編址的塊)為單位的設(shè)備,最簡單的如硬盤(,/dev/hda1,)等,,字符設(shè)備,,指串行端口等接口設(shè)備,Linux,中常見的文件系統(tǒng),—EXT2,Ext2,是,GNU/Linux,系統(tǒng)中標(biāo)準(zhǔn)的文件系統(tǒng),,特點(diǎn),,單一文件大小及文件系統(tǒng)本身的容量上限與文件系統(tǒng)本身的簇大小有關(guān),,一般常見的,X86,系統(tǒng)中,簇最大為,4KB,,則單一文件大小上限為,2048G
6、B,,而文件系統(tǒng)的容量上限為,16384GB,,,Linux,常見的文件系統(tǒng),-EXT3,Ext3,是,Ext2,的下一代,,在保有目前,Ext2,的格式之下再加上日志功能,,日志文件系統(tǒng)(,Journal File System,),,整個(gè)磁盤的寫入動(dòng)作完整記錄在磁盤的某個(gè)區(qū)域上,以便有需要時(shí)可以回溯追蹤,Linux,常見的文件系統(tǒng),--swap,交換空間,,Linux,使用整個(gè)分區(qū)來作為交換空間,,Windows,使用交換文件,,自定義大小,,一般這個(gè),SWAP,格式的交換分區(qū)的容量大小是主內(nèi)存的,2,倍,16,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識(shí),,?,嵌入式,Linux,文件系統(tǒng)簡介,,
7、?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實(shí)驗(yàn),,嵌入式文件系統(tǒng),Vs.,桌面文件系統(tǒng),專有性,Vs.,通用性,,嵌入式系統(tǒng)針對(duì)特殊目的而定制,,嵌入式文件系統(tǒng)要為嵌入式系統(tǒng)的設(shè)計(jì)目的服務(wù),,不同用途的嵌入式操作系統(tǒng)下的文件系統(tǒng)不同,,嵌入式文件系統(tǒng)的設(shè)計(jì)目標(biāo),,,,,,,,,,,使用簡單方便,安全可靠,實(shí)時(shí)響應(yīng),接口標(biāo)注的開放,,性和可移植性,可伸縮性,,可配置性,開放的體系結(jié)構(gòu),資源有效性,功能完整性,熱插拔,嵌入式操作系統(tǒng),?,嵌入式文件系統(tǒng),QNX,實(shí)時(shí)操作系統(tǒng),,POSIX, SMB, FAT, CD-ROM.,,VxWorks,,FFS, FAT,,RTllFS,
8、, RAWFS, TAPEFS,,嵌入式,Linux,,JFFS2, YAFFS, CRAMFS, ROMFS, RAMFS,,桌面文件系統(tǒng)不適合嵌入式系統(tǒng)(,Ext2fs,),為像,IDE,設(shè)備那樣的塊設(shè)備設(shè)計(jì)的,,不太適合扇區(qū)大小因設(shè)備不同而不同的閃存設(shè)備,,沒有提供對(duì)基于扇區(qū)的擦除,/,寫操作的良好管理,,閃存具有有限的擦除壽命,,在出現(xiàn)電源故障時(shí),,Ext2fs,不是防崩潰的,,不支持損耗平衡,,Flash,中所有被擦寫的單元保持相同的擦寫次數(shù),,因此縮短了扇區(qū),/,閃存的壽命,,在設(shè)計(jì)塊驅(qū)動(dòng)程序方面較為困難,存儲(chǔ)設(shè)備,?,嵌入式,Linux,文件系統(tǒng),選擇嵌入式文件系統(tǒng)的關(guān)鍵點(diǎn),,不
9、同的文件系統(tǒng)類型有不同的特點(diǎn),,根據(jù)存儲(chǔ)設(shè)備的硬件特性、系統(tǒng)需求等有不同的應(yīng)用場合,,,嵌入式設(shè)備很少使用大容量的,IDE,硬盤,往往采用,RAM,、,ROM,、,FLASH,存儲(chǔ)器等作為存儲(chǔ)設(shè)備。,,設(shè)計(jì)合適的文件系統(tǒng),,,Flash Memory,(閃存),NAND,,串行;順序讀取;適合大容量;通常需,MTD,,存儲(chǔ)單元被分為頁,由頁組成塊,,讀寫以塊和頁為單位,,,不足:,隨機(jī)存取速度較慢,無法按字節(jié)寫,,適合于大容量的多媒體應(yīng)用中。,,NOR,,,并行;隨機(jī)讀取;,,不足:寫入和擦除速度較低,,適合數(shù)據(jù)或程序存儲(chǔ);,XIP,,,XSbase,開發(fā)平臺(tái)上所使用的閃存:,,Intel,S
10、trataFlash,Memory 28F128J3A,,,NOR,嵌入式存儲(chǔ)設(shè)備,?,嵌入式,Linux,文件系統(tǒng),?,NAND Flash,? YAFFS,,NOR Flash ? JFFS2,,RAM,? RAMFS,,Network,? NFS,,JFFS/JFFS2,2000,年,,Axis,公司發(fā)布了日志式,Flash,文件系統(tǒng),jffs,,在,Flash,的存儲(chǔ)空間中,數(shù)據(jù)和輔助信息都依次存放,,2001,年初,,Red Hat,公司在此基礎(chǔ)上推出了,jffs2,文件系統(tǒng),,針對(duì)嵌入式系統(tǒng)中的,Flash,存儲(chǔ)器進(jìn)行設(shè)計(jì),,JFFS,缺陷,關(guān)于空間回收,,jffs,并沒有進(jìn)行太多
11、優(yōu)化,,不支持對(duì)數(shù)據(jù)進(jìn)行壓縮之后進(jìn)行存儲(chǔ),,不支持硬鏈接,每一個(gè)存儲(chǔ)塊中都保存了對(duì)應(yīng)的文件名,JFFS,2,:改進(jìn),jffs2,的節(jié)點(diǎn)頭部中增加了一些新的信息,,包括,CRC,校驗(yàn)碼和節(jié)點(diǎn)類型等,,改進(jìn),jffs,空間回收方式的缺陷,,jffs2,不再像,jffs,中只有一種節(jié)點(diǎn),;,有,3,種節(jié)點(diǎn)類型,,分別用于表示擦除塊的標(biāo)記,普通文件,目錄,,可以很快取得的數(shù)據(jù)并不保存在內(nèi)存之中,,增加了對(duì)數(shù)據(jù)的壓縮,,開始支持硬鏈接,YAFFS/YAFFS2,JFFS/JFFS2,應(yīng)用于,NAND Flash,存在問題,,通過,jffs_node,維護(hù),Flash,中的日志節(jié)點(diǎn),,每個(gè)節(jié)點(diǎn)需要占用,4
12、8,個(gè)字節(jié)的內(nèi)存空間,,JFFS/JFFS2,在掛載時(shí)需要掃描整個(gè),Flash,的內(nèi)容,,找出所有的日志節(jié)點(diǎn),建立文件結(jié)構(gòu),,YAFFS,Yet Another Flash File System,,專門針對(duì),NAND Flash,特點(diǎn)編寫的日志文件系統(tǒng),,克服,JFFS/JFFS2,的缺點(diǎn),,很小的內(nèi)存空間占用,,很短的掛載時(shí)間,,跨平臺(tái)的文件系統(tǒng),YAFFS2,YAFFAS,存在的問題,,不支持?jǐn)?shù)據(jù)壓縮,,僅對(duì),512,字節(jié)頁(后簡稱小頁)大小的,NAND Flash,,很多大容量的,NAND Flash,(,128MB,以上),使用大小為,2KB,的頁(后簡稱為大頁),,YAFFS2,,
13、實(shí)現(xiàn)對(duì)大頁,Flash,的支持,,在內(nèi)存空間占用,垃圾回收速度,讀寫速度等方面均有大幅度提升,,Cramfs,最初是,Linus,,Torvalds,,編寫的一個(gè)文件系統(tǒng),,具有簡單、壓縮和只讀等特點(diǎn),,用于保存只讀的根文件系統(tǒng)內(nèi)容,,特點(diǎn),,將文件數(shù)據(jù)以壓縮形式存儲(chǔ),在需要運(yùn)行的時(shí)候進(jìn)行解壓縮,,不能直接在,Flash,上運(yùn)行,,可以節(jié)約很多,Flash,存儲(chǔ)空間,但是文件系統(tǒng)運(yùn)行需要將大量的數(shù)據(jù)拷貝進(jìn),RAM,中,造成一定的浪費(fèi),創(chuàng)建,CRAMFS,根文件系統(tǒng)映像,工具,,mkcramfs,,和,cramfsck,,使用如下命令來制作一個(gè),CRAMFS,映像,,${ROOTFS},為目標(biāo)根
14、文件系統(tǒng)所在目錄,,~$,mkcramfs,${ROOTFS}/,cramfs.img,,32,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識(shí),,?,嵌入式,Linux,文件系統(tǒng)簡介,,?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實(shí)驗(yàn),,Linux,文件系統(tǒng)與存儲(chǔ)設(shè)備,現(xiàn)代操作系統(tǒng)都提供多種訪問存儲(chǔ)設(shè)備的方法,,Linux,文件系統(tǒng)有兩條獨(dú)立控制設(shè)備驅(qū)動(dòng)的途徑,,通過設(shè)備驅(qū)動(dòng)的接口,,直接讀寫磁盤,但是給操作系統(tǒng)帶來麻煩,降低穩(wěn)定性,,特殊環(huán)境下使用,例如數(shù)據(jù)庫管理系統(tǒng),,按“塊”訪問,,通過文件管理器接口,,提高系統(tǒng)穩(wěn)定性,,按文件結(jié)構(gòu)來讀寫,Linux,文件系統(tǒng)框架,Linux,文件系
15、統(tǒng)特點(diǎn),在,UNIX,操作系統(tǒng)中,文件按照樹的形式來組織,,一個(gè)文件系統(tǒng)只有一個(gè)根目錄,,根目錄,,掛載(,mount,),,Unix,文件系統(tǒng)通過文件管理器的操作以及對(duì)文件、目錄的定位來控制存儲(chǔ)設(shè)備,,Linux,文件管理器,,VFS,,VFS,Linux,內(nèi)核借鑒了很多,“,面向?qū)ο?”,的思想,,雖然,Linux,內(nèi)核是用,C,語言來寫,,面向?qū)ο笾械母拍?,VFS,層 對(duì)應(yīng),“,抽象基類,”,,具體文件系統(tǒng)對(duì)應(yīng)這個(gè)抽象基類的,“,派生類,”,,對(duì)文件的操作實(shí)現(xiàn)了一個(gè)類似于“純虛函數(shù)”的接口,,如,open,,,write,,,read,等,38,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識(shí),,?
16、,嵌入式,Linux,文件系統(tǒng)簡介,,?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實(shí)驗(yàn),,文件系統(tǒng)實(shí)驗(yàn),一 建立,JFFS2,根文件系統(tǒng),,二 基于,BusyBox,構(gòu)建根文件系統(tǒng),,三 建立,ramfs,文件系統(tǒng),,四,NFS,文件系統(tǒng)實(shí)驗(yàn),,五,samba,介紹與應(yīng)用,JFFS2,在,Linux,中的兩種使用方式,,根文件系統(tǒng),,,普通文件系統(tǒng),,在系統(tǒng)啟動(dòng)后被掛載,建立,JFFS2,根,文件系統(tǒng),,內(nèi)核配置,,,映像生成,,建立,JFFS2,文件系統(tǒng),-,內(nèi)核配置,General Setup,項(xiàng),,“,root=1f03,rw,console=ttyS0,115200 i
17、nit=/,linuxrc,”,,MTD,驅(qū)動(dòng),,在,menuconfig,中調(diào)用,flash memory,設(shè)備驅(qū)動(dòng),,選擇,CFI Flash device mapped on the XSBASE255 PXA255 board,,,JFFS2,文件系統(tǒng),支持項(xiàng),還需要在,File System,選項(xiàng)中選擇,,[*],Journalling,Flash File System v2(JFFS2) support,JFFS2,映像生成,mkfs.jffs2,工具創(chuàng)建成,image,,mkfs.jffs2,用法,,-e,選項(xiàng)確定閃存的擦除扇區(qū)大?。ㄍǔJ?64,K,),,-p,選項(xiàng)用來在映像
18、的剩余空間用零填充,,-o,選項(xiàng)用于輸出文件,這里是,rootfs.img,,,,,,,,利用,bootloader,將生成的,rootfs.img,下載后寫入,flash,,,再次重起開發(fā)板,內(nèi)核就能加載,JFFS2,作為根文件系統(tǒng),,,./mkfs.jffs2 –o,rootfs.img,,–e 0x40000 –r,root_XSBASE,–p -l,二:基于,BusyBox,構(gòu)建根文件系統(tǒng),,Busybox,,,配置,Busybox,,,利用,BusyBox,制作,JFFS2,的根文件系統(tǒng),Busybox,工具集,,vi,編輯器,系統(tǒng)不可或缺的,/,sbin,/init,程序,,其他諸
19、如,sed,,,ifconfig,, halt, reboot,,mkdir,, mount,,ln,,,ls,, echo, cat ...,等等,,大小也不過,100K,左右,,用戶可以根據(jù)自己的需要進(jìn)行定制,,BusyBox,支持多種體系結(jié)構(gòu),,可以靜態(tài)或動(dòng)態(tài)鏈接,glic,或者,uclibc,庫,以滿足不同的需要,配置和編譯過程,#,cd,/home/Liod270/FileSystem,,# tar,zxvf,busybox-1.00-pre05.tar.gz,,#,cd,busybox-1.00-pre05,,# make,menuconfig,實(shí)驗(yàn),5,:,busybox-1.1
20、4.2-new,,在,Build Option,菜單中,,選擇靜態(tài)庫編譯方式,,[*] Build,BusyBox,as a static binary (no shared,libs,),,選擇交叉編譯器,arm-,linux-gcc,,[*] Do you want to build,BusyBox,with a Cross Compiler?(/opt/xscalev1/bin/arm-linux- ),,在,Installation Options,中默認(rèn),_install,是編譯后的文件系統(tǒng)路徑,,其他諸多選項(xiàng)的主要目的是使得用戶僅僅選擇部分工具,,保存選項(xiàng)設(shè)置,,#make,de
21、p,,#make,,#make install,,,結(jié)果,,在,_install,目錄下生成,3,個(gè)子目錄:,bin,,sbin,,,usr,。,配置文件系統(tǒng),--,建立,rc,文件,#,cd,_install,,#,mkdir,etc,,在,etc,目錄下建立,rc,文件,,這一文件在操作系統(tǒng)啟動(dòng)時(shí)會(huì)自動(dòng)執(zhí)行,它含有要運(yùn)行的指令(命令或其它腳本)列表,,,,#!/bin/,sh,hostname FIGO mount –t proc,proc,/proc cat /etc/,motd,,改變其文件屬性,,#,chmod,777,rc,配置文件系統(tǒng),--,建立,inittab,文件
22、,,init,進(jìn)程是系統(tǒng)中所有進(jìn)程的父進(jìn)程,主要任務(wù)是按照,inittab,文件所提供的信息創(chuàng)建進(jìn)程,,::,sysinit:/etc/init.d/rcS,,#start an “,askfirst,” shell on the console (whatever that may do),,::,askfirst:-/bin/sh,,#stuff to do when restarting the init process,,::restart:/,sbin,/init,,#stuff to do before rebooting,,::,ctrlaltdel:/sbin/reboot,,
23、::shutdown:/bin/,umount,-a –r,,::shutdown:/,sbin/swapoff,-a,配置文件系統(tǒng),--,在,etc,下建立,motd,文件,message of today,(布告欄信息),,其內(nèi)容用戶隨意,,每次用戶登錄時(shí),,/etc/,motd,的內(nèi)容會(huì)顯示在用戶的終端,,,Welcome to ARM-LINUX WORLD!,配置文件系統(tǒng),--,建立,rc,文件的符號(hào)連接文件,rcS,在,etc,下建立,init.d,目錄,而后在,init.d,目錄下建立,rc,文件的符號(hào)連接文件,rcS,,#,cd,,init.d,,#,ln,–s ../,rc,
24、,rcS,創(chuàng)建設(shè)備文件,在,_install,下建立,dev,目錄,創(chuàng)建設(shè)備文件,,系統(tǒng)控制臺(tái),console,,MTD,塊設(shè)備,mdblock3,等,,使用,mknod,命令來創(chuàng)建,,#,mknod,console c 5 1,,#,mknod,mdblock3 b 31 3,名字,b,:塊設(shè)備,,c,:字符設(shè)備,主設(shè)備號(hào),次設(shè)備號(hào),復(fù)制設(shè)備文件,復(fù)制主機(jī)平臺(tái),/dev,目錄下一些必要的設(shè)備文件到,_install/dev,目錄下,,#cp –,dpR,/dev/* /home/Liod270/Filesystem/busybox-1.00-pre5/_install/dev,,-,dp,參
25、數(shù)表示復(fù)制過程中保證鏈接文件保持不變,但不會(huì)復(fù)制鏈接所指的原文件,而且屬性不變,,刪除不必要的設(shè)備文件,制作,JFFS2,文件映像,返回到,busybox,根目錄,運(yùn)行,mkfs.jffs2,,#./mkfs.jffs2 –o,rootfs.img,–e 0x40000 –r _install –p –l,,生成映像文件,rootfs.img,,復(fù)制到,/,tftpboot,中,燒寫到閃存中,三:構(gòu)建,ramfs,RamDisk,:內(nèi)存當(dāng)分區(qū)使用,,格式化、加載,,通過,Ramfs,或,tmpfs,來實(shí)現(xiàn),,,Ramfs,:內(nèi)存文件系統(tǒng),,處于虛擬文件系統(tǒng)(,VFS,)層,,無需格式化,,可以
26、創(chuàng)建多個(gè),只要內(nèi)存足夠,在創(chuàng)建時(shí)可以指定其最大能使用的內(nèi)存大小,,Ramfs,使用,,前提:將,ramfs,編譯進(jìn)內(nèi)核,,創(chuàng)建一個(gè)目錄,加載,Ramfs,到該目錄即可:,#,mkdir,/,testRam,# mount -t,ramfs,none /,testRAM,,,缺省情況下,,ramfs,被限制最多可使用內(nèi)存大小的一半,,可以通過,maxsize,(以,kbyte,為單位)選項(xiàng)來改變,# mount -t,ramfs,none /,testRAM,-o,maxsize,=2000,,(,創(chuàng)建了一個(gè)限定最大使用內(nèi)存為,2M,的,ramdisk,),使用主機(jī)的,loopback,設(shè)備建立
27、,ramfs,創(chuàng)建一個(gè)連續(xù)的,8M,大小的空間,,dd,if=/dev/zero of=,ramdisk_img,,bs,=1k count=8192,,用,mke2fs,格式化,,在該空間復(fù)制或創(chuàng)建相關(guān)文件,,將格式化的空間,mount,到目錄,/,tmp,,,在,tmp,目錄里復(fù)制或創(chuàng)建設(shè)置文件,,,util,, library,等,,umount,,再用,gzip,壓縮,生成,ramdisk_img.gz,文件,,建立,ramfs,根文件系統(tǒng),修改一些內(nèi)核配置,,XSBase255,中,setup_initrd,(),的,0xA1000000,成為,SDRAM,的,ramdisk,,地址
28、 ,,ramdisk,,要下載到,Bootloader,中的這個(gè)地址,,,CONFIG_BLK_DEV_RAM_SIZE,是,menuconfig,中設(shè)定的 “,Default RAM disk size”,大小,,修改,Default Kernel command string,為:“,root=/dev/ram,rw,console=ttyS0,115200 init=/,linuxrc,”,。用于重新引導(dǎo)系統(tǒng)。,,NFS,:網(wǎng)絡(luò)文件系統(tǒng),nfs,可以將,pc,機(jī)上的一部分文件系統(tǒng)作為目標(biāo)機(jī)的資源,,本地工作站使用更少的磁盤空間,因?yàn)橥ǔ5臄?shù)據(jù)可以存放在一臺(tái)機(jī)器上而且可以通過網(wǎng)絡(luò)訪問到。,
29、,用戶不必在每個(gè)網(wǎng)絡(luò)上機(jī)器里頭都有一個(gè),home,目錄。,home,目錄 可以被放在,NFS,服務(wù)器上并且在網(wǎng)絡(luò)上處處可用。,,諸如軟驅(qū),,CDROM,,和,Zip?,之類的存儲(chǔ)設(shè)備可以在網(wǎng)絡(luò)上面被別的機(jī)器使用。這可以減少整個(gè)網(wǎng)絡(luò)上的可移動(dòng)介質(zhì)設(shè)備的數(shù)量。,NFS,如何工作的?,NFS,至少包括兩個(gè)主要的部分:,一臺(tái)服務(wù)器,,以及,至少一臺(tái)客戶機(jī),, 客戶機(jī)遠(yuǎn)程地訪問保存在服務(wù)器上的數(shù)據(jù),,服務(wù)器配置,,nfsd,:,NFS,,為來自,NFS,客戶端的 請求服務(wù)。,,mountd,:,NFS,掛載服務(wù),處理,nfsd,遞交過來的請求。,,rpcbind,:,允許,NFS,客戶程序查詢正在被,N
30、FS,服務(wù)使用的端口。,,客戶端運(yùn)行的進(jìn)程,,nfsiod,:處理來自,NFS,的請求。這是可選的,而且可以提高性能,對(duì)于普通和正確的操作來說并不是必須的。,四,NFS,文件系統(tǒng)實(shí)驗(yàn) (,1,),NFS,是用于在不同機(jī)器,不同操作系統(tǒng)之間通過網(wǎng)絡(luò)互相分享文件 的,,建立,NFS,開發(fā)環(huán)境的工作分為兩個(gè)方面:,配置,NFS,服務(wù)器和配置客戶端,,基本的命令格式,,Mount,的基本命令格式如下:,,,Umount,的基本命令格式:,,mount -t type [-,rv,] -o [option],server:pathname,/,mount_point,,umount,[-,dflnrv,
31、] dir | device [...],四,NFS,文件系統(tǒng)實(shí)驗(yàn) (,2,),配置,NFS,服務(wù)端,,在,Host PC,上打開,/etc/exports,文件,,,并進(jìn)行如下設(shè)置 :,,,,把,/,mnt/nfs,設(shè)置完成后重新開始,NFS,deamon,,,,,[,root@XSBase,home]# vi /etc/exports,,/,mnt/nfs,(,rw,no_root_squash,),[,root@XSBase,home]# /etc/,rc.d/init.d/nfs,stop,,[,root@XSBase,home]# /etc/,rc.d/init.d/nfs,star
32、t,四,NFS,文件系統(tǒng)實(shí)驗(yàn)(,3,),配置,NFS,客戶端,,NFS,客戶端是開發(fā)板,所以要讓開發(fā)板上的內(nèi)核支持,NFS,,必須重新配置內(nèi)核生成,zImage,鏡像文件,并下載到板子上。,,,通過,make,menuconfig,,指令在,kernel,設(shè)置窗進(jìn)行,NFS,設(shè)置,,menuconfig,,窗口打開后,確認(rèn),NFS,設(shè)置是否被選上,,,,,,,,,重新編譯內(nèi)核,新的內(nèi)核下就可以使用,nfs,命令了,,,File systems --->,,Network File Systems --->,, NFS file system support,,[*] Provide N
33、FSv3 client support,,[ ] Root file system on NFS,四,NFS,文件系統(tǒng)實(shí)驗(yàn)(,4,),掛載,NFS,文件系統(tǒng),,開發(fā)板上進(jìn)行,mount,操作,把,PC,上的某個(gè)目錄掛載上來:,,,,,,,把,Host PC,的,/,mnt/nfs,目錄,mount,到開發(fā)板的,/,mnt,目錄下使用。,192.168.1.1,是,PC,的,ip,。,,接下來就可以在新,mount,上來的目錄下做各種操作,掛載工作完成,,[,root@xsbase255]# mount –t,nfs,192.168.1.1:/mnt/nfs /,mnt,,[root@xs
34、base255]#,cd,/,mnt,四,NFS,文件系統(tǒng)實(shí)驗(yàn)(,5,),如果出現(xiàn)沒法,mount,上去的情況,可以按照以下步驟進(jìn)行檢查:,,用,rpcinfo,-p,server_name,,去查看此,server,是否存在,,用,rpcinfo,-u,server_name,mount,查看,mountd,daemon,是否有在,server,上執(zhí)行,,假如,server,都沒問題,,,檢查,server,和,client,之間的網(wǎng)線連接,,在,client,上用,ps,ax,查看,portmap,和對(duì)應(yīng)的,NFS daemons,是否運(yùn)行,,,打開服務(wù)端,PC,上的,/,var/lib/
35、nfs/rmtab,文件,,清,空內(nèi)容,,,重起,NFS,服務(wù),,四,NFS,文件系統(tǒng)實(shí)驗(yàn)(,6,),加載,NFS,為根文件系統(tǒng),,1,)重新配置內(nèi)核,,,在,General setup,里面重新設(shè)置,Default kernel command string,的值,(,P163,),,在,Network File Systems,選項(xiàng)中需要選中“,Root file system on NFS”,,在,Block devices,選項(xiàng)中把“,RAM disk support”,選項(xiàng)去除,選中“,Network block device support”,,,配置完內(nèi)核,重新,make,zIm
36、age,,生成新的鏡像,,,,,,2,)配置服務(wù)端,PC,,,/,tftpboot,目錄下新增子目錄,pxa255,,用作新的根文件系統(tǒng),,,把原文件系統(tǒng)下的文件拷貝到,/tftpboot/pxa255,中,,重新編輯,/etc/exports,文件如下:,,,,,重新啟動(dòng),NFS,服務(wù),$ vi /etc/exports,,/tftpboot/pxa255 (,rw,no_root_squash,),,3,)重起開發(fā)板,使用,tftp,協(xié)議加載新的內(nèi)核鏡像, 系統(tǒng)啟動(dòng)后,使用,boot,命令直接引導(dǎo),,4,)確認(rèn)新的根目錄是否是,PC,端的,/tftpboot/pxa255,目錄,,實(shí)驗(yàn)五,
37、samba,介紹與應(yīng)用,samba,介紹,,samba,是一組軟件包,使,Linux,支持,SMB,(服務(wù)消息塊)協(xié)議,該協(xié)議由,TCP/IP,實(shí)現(xiàn),它是,windows,網(wǎng)絡(luò)文件和打印共享基礎(chǔ),,在,網(wǎng)絡(luò),上共享,目錄,,就好像一臺(tái)文件,服務(wù)器,一樣。,,在,網(wǎng)絡(luò),上共享打印機(jī)。,,決定每一個(gè),目錄,由,誰,來使用,可以,讓,一個(gè)人、某些人、組和所有人訪問。,,決定打印機(jī)由,誰,來使用,可以,讓,一個(gè)人、某些人、組和所有人使用。,,實(shí)驗(yàn)五,samba,介紹與應(yīng)用,samba,組成,,samba,的核心是兩個(gè)守護(hù)進(jìn)程,smbd,和,nmbd,程序,在服務(wù)器啟動(dòng)到停止期間持續(xù)運(yùn)行。,smbd,進(jìn)
38、程的作用是處理到來的,SMB,軟件包,為使用該軟件包的資源與,Linux,進(jìn)行協(xié)商,,nmbd,進(jìn)程使其它主機(jī)(或工作站)能瀏覽,Linux,服務(wù)器。,,,一個(gè)完整的,smb.conf,一般由,Global settings,和,share Definitions,兩部分組成,,,samba,的啟動(dòng)與停止,,在缺省情況下,,Red Hat Linux,的,samba,在啟動(dòng)時(shí)就已投入運(yùn)行,,也可利用系統(tǒng)腳本來手工啟動(dòng)和停止,samba,,# /etc/,rc.d/init.d/smb,start (,啟動(dòng),samba),,# /etc/,rc.d/init.d/smb,stop (,停止,sa
39、mba),定制,samba,(,1,),定制,samba,,用戶通過對(duì),smb.conf,文件進(jìn)行,vi,編輯,可以添加、刪除及修改,smba,提供的多種服務(wù)。,,向用戶開放,Linux,文件資源,只有讀權(quán)限。,,[public],,comment=public stuff,,path = /,,public = yes,,writable = no,,printale,= no,,write list = @staff,定制,samba,(,2,),共享,CD-ROM,,修改,smb.conf,之前,先安裝光驅(qū),可執(zhí)行下列命令:,,# mount - t iso9660 /dev/,cdro
40、m,/,mnt/cdrom,,然后定制,samba,,內(nèi)容如下,:,,[,cdrom,],,path = /,mnt/cdrom,,ready only = yes,,public= yes,定制,samba,(,3,),為多個(gè)用戶提供服務(wù),,comment =,userl’sstuff,,,user2’sstuff,,,user3’sstuff,,path = /home/user1 (,用戶,userl,的主目錄,),,valid users = user1 user2 user3,,public = no (,除了,user1,,,user2,,,user3,外不向用戶開放,),,wri
41、table = yes (,三用戶對(duì),/home/user1,中的文件有寫權(quán)限,),,printable = yes (,允許打印,),定制,samba,(,4,),向用戶開放,/dev,目錄,瀏覽設(shè)備類型。,,[dev],,comment = open and browse the /dev directory,,path = /dev (,路徑為,/dev),,ready only = yes (,只讀,),,public = yes (,共享,),Samba,實(shí)驗(yàn)(,1,),編譯,samba,,解壓,samba-3.0.0.tar.gz,壓縮包,,設(shè)置環(huán)境變量:,,,,$ export
42、LD_LIBARY_PATH=/usr/local/hybus-arm-linux-R1.1/lib/,,$ export CPPFLAGS=-I/usr/local/hybus-arm-linux-R1.1/include,,$ export LDFLAGS=-L/,usr,/local hybus-arm-linux-R1.1/lib/,,$ export CC=/,usr,/local/ hybus-arm-linux-R1.1/arm-linux-gcc,,$ export CFLAGS="-march=armv4 -,mtune,=arm9tdmi -,mshort,-load-by
43、tes",Samba,實(shí)驗(yàn)(,2,),運(yùn)行,configure,,,,,修改,include/,config.h,文件,添加,,#define HAVE_GETTIMEOFDAY_TZ 1,,運(yùn)行,make,生成可執(zhí)行文件,,$ ./configure --host=i686 --target=arm-,linux,–enable-cups=no,Samba,實(shí)驗(yàn)(,3,),將,samba,應(yīng)用到開發(fā)板,,在將要燒到,flash,的文件系統(tǒng)下創(chuàng)建以下目錄:,,/,usr,/local/samba,,/,usr,/local/samba/bin,,/,usr/local/samba/var,,,/,usr,/local/samba/private,,/,usr,/local/samba/lib,Samba,實(shí)驗(yàn)(,4,),將編譯后的,samba,源碼目錄下的,bin/,子目錄里的內(nèi)容拷貝到,/,usr,/local/samba/bin,,配置,smb.conf,,,添加、刪除及修改,smba,提供的多種服務(wù),,用,smbpasswd,-a username,添加一個(gè),samba,用戶,并生成,samba,密碼文件,smbpasswd,,,運(yùn)行,samba,守護(hù)進(jìn)程,,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 踏春尋趣 樂享時(shí)光——春季旅游踏春出游活動(dòng)
- 清明假期至安全不缺席風(fēng)起正清明安全需守護(hù)
- 全國黨員教育培訓(xùn)工作規(guī)劃
- XX中小學(xué)公共衛(wèi)生培訓(xùn)樹立文明衛(wèi)生意識(shí)養(yǎng)成良好衛(wèi)生習(xí)慣
- 小學(xué)生常見傳染病預(yù)防知識(shí)培訓(xùn)傳染病的預(yù)防措施
- 3月18日全國愛肝日中西醫(yī)結(jié)合逆轉(zhuǎn)肝硬化
- 肝病健康宣教守護(hù)您的肝臟健康如何預(yù)防肝炎
- 垃圾分類小課堂教育綠色小衛(wèi)士分類大行動(dòng)
- 中小學(xué)班主任經(jīng)驗(yàn)交流從勝任到優(yōu)秀身為世范為人師表 立責(zé)于心履責(zé)于行
- 教師數(shù)字化轉(zhuǎn)型理解與感悟教師數(shù)字化轉(zhuǎn)型的策略與建議
- 團(tuán)建小游戲團(tuán)建破冰小游戲團(tuán)隊(duì)協(xié)作破冰游戲多人互動(dòng)
- 教師使用deepseek使用攻略讓備課效能提升
- 辦公室會(huì)議紀(jì)要培訓(xùn)會(huì)議內(nèi)容會(huì)議整理公文攥寫
- 黨員要注重培塑忠誠奮斗奉獻(xiàn)的人格力量
- 橙色卡通風(fēng)兒童春季趣味運(yùn)動(dòng)會(huì)
相關(guān)資源
更多