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



《2010-6-嵌入式文件系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《2010-6-嵌入式文件系統(tǒng)(87頁珍藏版)》請在裝配圖網(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ǔ)知識,,?,嵌入式,Linux,文件系統(tǒng)簡介,,?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實驗,,操作系統(tǒng)、內(nèi)核、文件系統(tǒng),操作系統(tǒng)?,,負(fù)責(zé)對計算機(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)的特點,Linux,的文件系統(tǒng),Vs. Windows,的文件系統(tǒng),,Windows,文件系統(tǒng),,以驅(qū)動器的盤符為基礎(chǔ)的,,每一個目錄是與相應(yīng)的分區(qū)對應(yīng),,Linux,文件系統(tǒng),,一個文件樹,,它的所有文件和外部設(shè)備(如硬盤,光驅(qū)等)都是以文件的形式掛結(jié)在這個文件樹上,,總之,在,Windows,下,目錄結(jié)構(gòu)屬于分區(qū);,Linux,下,分區(qū)屬于目錄結(jié)構(gòu),Linux,的目錄結(jié)構(gòu),Linux,文件系統(tǒng)中的掛載(,mount,),實現(xiàn)硬件管理
3、手段和軟件目錄管理手段的統(tǒng)一,,每一個分區(qū)和某一個目錄相對應(yīng),,對目錄的操作就是對這個分區(qū)的操作,,把分區(qū)和目錄對應(yīng)的過程叫做掛載(,mount,),,這個掛載在文件樹中的位置就是掛載點,,這種對應(yīng)關(guān)系可以由用戶隨時中斷和改變,mount,命令,功能:加載指定的文件系統(tǒng),,語法:,,mount [-,afFhnrvVw,] [-L<,標(biāo)簽,>] [-o<,選項,>] [-t<,文件系統(tǒng)類型,>] [,設(shè)備名,] [,加載點,],,,例如:,mount -t,vfat,/dev/hda1 /,mnt/c,,Linux,文件的類型,Linux,對目錄和設(shè)備都當(dāng)作文件來進(jìn)行處理,,分類,,普通文件
4、,,目錄文件,,鏈接文件,,設(shè)備文件,,1.,普通文件,如同,Windows,中的文件,,包括,,文本文件,,shell,腳本,,二進(jìn)制的可執(zhí)行程序,,各種類型的數(shù)據(jù),2.,目錄文件,目錄也是文件,,包含文件名和子目錄名以及指向那些文件和子目錄的指針,,,Linux,通過上下鏈接目錄文件系統(tǒng)來實現(xiàn)對整個文件系統(tǒng)的操作,,什么是根目錄?,3.,鏈接文件,又稱軟鏈接,符號鏈接,,類似于,Windows,中的“快捷方式”,,功能,,實現(xiàn)對不同的目錄、文件系統(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),,特點,,單一文件大小及文件系統(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,),,整個磁盤的寫入動作完整記錄在磁盤的某個區(qū)域上,以便有需要時可以回溯追蹤,Linux,常見的文件系統(tǒng),--swap,交換空間,,Linux,使用整個分區(qū)來作為交換空間,,Windows,使用交換文件,,自定義大小,,一般這個,SWAP,格式的交換分區(qū)的容量大小是主內(nèi)存的,2,倍,16,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識,,?,嵌入式,Linux,文件系統(tǒng)簡介,,
7、?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實驗,,嵌入式文件系統(tǒng),Vs.,桌面文件系統(tǒng),專有性,Vs.,通用性,,嵌入式系統(tǒng)針對特殊目的而定制,,嵌入式文件系統(tǒng)要為嵌入式系統(tǒng)的設(shè)計目的服務(wù),,不同用途的嵌入式操作系統(tǒng)下的文件系統(tǒng)不同,,嵌入式文件系統(tǒng)的設(shè)計目標(biāo),,,,,,,,,,,使用簡單方便,安全可靠,實時響應(yīng),接口標(biāo)注的開放,,性和可移植性,可伸縮性,,可配置性,開放的體系結(jié)構(gòu),資源有效性,功能完整性,熱插拔,嵌入式操作系統(tǒng),?,嵌入式文件系統(tǒng),QNX,實時操作系統(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è)計的,,不太適合扇區(qū)大小因設(shè)備不同而不同的閃存設(shè)備,,沒有提供對基于扇區(qū)的擦除,/,寫操作的良好管理,,閃存具有有限的擦除壽命,,在出現(xiàn)電源故障時,,Ext2fs,不是防崩潰的,,不支持損耗平衡,,Flash,中所有被擦寫的單元保持相同的擦寫次數(shù),,因此縮短了扇區(qū),/,閃存的壽命,,在設(shè)計塊驅(qū)動程序方面較為困難,存儲設(shè)備,?,嵌入式,Linux,文件系統(tǒng),選擇嵌入式文件系統(tǒng)的關(guān)鍵點,,不
9、同的文件系統(tǒng)類型有不同的特點,,根據(jù)存儲設(shè)備的硬件特性、系統(tǒng)需求等有不同的應(yīng)用場合,,,嵌入式設(shè)備很少使用大容量的,IDE,硬盤,往往采用,RAM,、,ROM,、,FLASH,存儲器等作為存儲設(shè)備。,,設(shè)計合適的文件系統(tǒng),,,Flash Memory,(閃存),NAND,,串行;順序讀取;適合大容量;通常需,MTD,,存儲單元被分為頁,由頁組成塊,,讀寫以塊和頁為單位,,,不足:,隨機(jī)存取速度較慢,無法按字節(jié)寫,,適合于大容量的多媒體應(yīng)用中。,,NOR,,,并行;隨機(jī)讀取;,,不足:寫入和擦除速度較低,,適合數(shù)據(jù)或程序存儲;,XIP,,,XSbase,開發(fā)平臺上所使用的閃存:,,Intel,S
10、trataFlash,Memory 28F128J3A,,,NOR,嵌入式存儲設(shè)備,?,嵌入式,Linux,文件系統(tǒng),?,NAND Flash,? YAFFS,,NOR Flash ? JFFS2,,RAM,? RAMFS,,Network,? NFS,,JFFS/JFFS2,2000,年,,Axis,公司發(fā)布了日志式,Flash,文件系統(tǒng),jffs,,在,Flash,的存儲空間中,數(shù)據(jù)和輔助信息都依次存放,,2001,年初,,Red Hat,公司在此基礎(chǔ)上推出了,jffs2,文件系統(tǒng),,針對嵌入式系統(tǒng)中的,Flash,存儲器進(jìn)行設(shè)計,,JFFS,缺陷,關(guān)于空間回收,,jffs,并沒有進(jìn)行太多
11、優(yōu)化,,不支持對數(shù)據(jù)進(jìn)行壓縮之后進(jìn)行存儲,,不支持硬鏈接,每一個存儲塊中都保存了對應(yīng)的文件名,JFFS,2,:改進(jìn),jffs2,的節(jié)點頭部中增加了一些新的信息,,包括,CRC,校驗碼和節(jié)點類型等,,改進(jìn),jffs,空間回收方式的缺陷,,jffs2,不再像,jffs,中只有一種節(jié)點,;,有,3,種節(jié)點類型,,分別用于表示擦除塊的標(biāo)記,普通文件,目錄,,可以很快取得的數(shù)據(jù)并不保存在內(nèi)存之中,,增加了對數(shù)據(jù)的壓縮,,開始支持硬鏈接,YAFFS/YAFFS2,JFFS/JFFS2,應(yīng)用于,NAND Flash,存在問題,,通過,jffs_node,維護(hù),Flash,中的日志節(jié)點,,每個節(jié)點需要占用,4
12、8,個字節(jié)的內(nèi)存空間,,JFFS/JFFS2,在掛載時需要掃描整個,Flash,的內(nèi)容,,找出所有的日志節(jié)點,建立文件結(jié)構(gòu),,YAFFS,Yet Another Flash File System,,專門針對,NAND Flash,特點編寫的日志文件系統(tǒng),,克服,JFFS/JFFS2,的缺點,,很小的內(nèi)存空間占用,,很短的掛載時間,,跨平臺的文件系統(tǒng),YAFFS2,YAFFAS,存在的問題,,不支持?jǐn)?shù)據(jù)壓縮,,僅對,512,字節(jié)頁(后簡稱小頁)大小的,NAND Flash,,很多大容量的,NAND Flash,(,128MB,以上),使用大小為,2KB,的頁(后簡稱為大頁),,YAFFS2,,
13、實現(xiàn)對大頁,Flash,的支持,,在內(nèi)存空間占用,垃圾回收速度,讀寫速度等方面均有大幅度提升,,Cramfs,最初是,Linus,,Torvalds,,編寫的一個文件系統(tǒng),,具有簡單、壓縮和只讀等特點,,用于保存只讀的根文件系統(tǒng)內(nèi)容,,特點,,將文件數(shù)據(jù)以壓縮形式存儲,在需要運(yùn)行的時候進(jìn)行解壓縮,,不能直接在,Flash,上運(yùn)行,,可以節(jié)約很多,Flash,存儲空間,但是文件系統(tǒng)運(yùn)行需要將大量的數(shù)據(jù)拷貝進(jìn),RAM,中,造成一定的浪費(fèi),創(chuàng)建,CRAMFS,根文件系統(tǒng)映像,工具,,mkcramfs,,和,cramfsck,,使用如下命令來制作一個,CRAMFS,映像,,${ROOTFS},為目標(biāo)根
14、文件系統(tǒng)所在目錄,,~$,mkcramfs,${ROOTFS}/,cramfs.img,,32,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識,,?,嵌入式,Linux,文件系統(tǒng)簡介,,?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實驗,,Linux,文件系統(tǒng)與存儲設(shè)備,現(xiàn)代操作系統(tǒng)都提供多種訪問存儲設(shè)備的方法,,Linux,文件系統(tǒng)有兩條獨(dú)立控制設(shè)備驅(qū)動的途徑,,通過設(shè)備驅(qū)動的接口,,直接讀寫磁盤,但是給操作系統(tǒng)帶來麻煩,降低穩(wěn)定性,,特殊環(huán)境下使用,例如數(shù)據(jù)庫管理系統(tǒng),,按“塊”訪問,,通過文件管理器接口,,提高系統(tǒng)穩(wěn)定性,,按文件結(jié)構(gòu)來讀寫,Linux,文件系統(tǒng)框架,Linux,文件系
15、統(tǒng)特點,在,UNIX,操作系統(tǒng)中,文件按照樹的形式來組織,,一個文件系統(tǒng)只有一個根目錄,,根目錄,,掛載(,mount,),,Unix,文件系統(tǒng)通過文件管理器的操作以及對文件、目錄的定位來控制存儲設(shè)備,,Linux,文件管理器,,VFS,,VFS,Linux,內(nèi)核借鑒了很多,“,面向?qū)ο?”,的思想,,雖然,Linux,內(nèi)核是用,C,語言來寫,,面向?qū)ο笾械母拍?,VFS,層 對應(yīng),“,抽象基類,”,,具體文件系統(tǒng)對應(yīng)這個抽象基類的,“,派生類,”,,對文件的操作實現(xiàn)了一個類似于“純虛函數(shù)”的接口,,如,open,,,write,,,read,等,38,,課程大綱,,?,文件系統(tǒng)基礎(chǔ)知識,,?
16、,嵌入式,Linux,文件系統(tǒng)簡介,,?,Linux,文件系統(tǒng)框架和特性,,?,嵌入式文件系統(tǒng)相關(guān)實驗,,文件系統(tǒng)實驗,一 建立,JFFS2,根文件系統(tǒng),,二 基于,BusyBox,構(gòu)建根文件系統(tǒng),,三 建立,ramfs,文件系統(tǒng),,四,NFS,文件系統(tǒng)實驗,,五,samba,介紹與應(yīng)用,JFFS2,在,Linux,中的兩種使用方式,,根文件系統(tǒng),,,普通文件系統(tǒng),,在系統(tǒng)啟動后被掛載,建立,JFFS2,根,文件系統(tǒng),,內(nèi)核配置,,,映像生成,,建立,JFFS2,文件系統(tǒng),-,內(nèi)核配置,General Setup,項,,“,root=1f03,rw,console=ttyS0,115200 i
17、nit=/,linuxrc,”,,MTD,驅(qū)動,,在,menuconfig,中調(diào)用,flash memory,設(shè)備驅(qū)動,,選擇,CFI Flash device mapped on the XSBASE255 PXA255 board,,,JFFS2,文件系統(tǒng),支持項,還需要在,File System,選項中選擇,,[*],Journalling,Flash File System v2(JFFS2) support,JFFS2,映像生成,mkfs.jffs2,工具創(chuàng)建成,image,,mkfs.jffs2,用法,,-e,選項確定閃存的擦除扇區(qū)大?。ㄍǔJ?64,K,),,-p,選項用來在映像
18、的剩余空間用零填充,,-o,選項用于輸出文件,這里是,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)或動態(tài)鏈接,glic,或者,uclibc,庫,以滿足不同的需要,配置和編譯過程,#,cd,/home/Liod270/FileSystem,,# tar,zxvf,busybox-1.00-pre05.tar.gz,,#,cd,busybox-1.00-pre05,,# make,menuconfig,實驗,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)路徑,,其他諸多選項的主要目的是使得用戶僅僅選擇部分工具,,保存選項設(shè)置,,#make,de
21、p,,#make,,#make install,,,結(jié)果,,在,_install,目錄下生成,3,個子目錄:,bin,,sbin,,,usr,。,配置文件系統(tǒng),--,建立,rc,文件,#,cd,_install,,#,mkdir,etc,,在,etc,目錄下建立,rc,文件,,這一文件在操作系統(tǒ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)容用戶隨意,,每次用戶登錄時,,/etc/,motd,的內(nèi)容會顯示在用戶的終端,,,Welcome to ARM-LINUX WORLD!,配置文件系統(tǒng),--,建立,rc,文件的符號連接文件,rcS,在,etc,下建立,init.d,目錄,而后在,init.d,目錄下建立,rc,文件的符號連接文件,rcS,,#,cd,,init.d,,#,ln,–s ../,rc,
24、,rcS,創(chuàng)建設(shè)備文件,在,_install,下建立,dev,目錄,創(chuàng)建設(shè)備文件,,系統(tǒng)控制臺,console,,MTD,塊設(shè)備,mdblock3,等,,使用,mknod,命令來創(chuàng)建,,#,mknod,console c 5 1,,#,mknod,mdblock3 b 31 3,名字,b,:塊設(shè)備,,c,:字符設(shè)備,主設(shè)備號,次設(shè)備號,復(fù)制設(shè)備文件,復(fù)制主機(jī)平臺,/dev,目錄下一些必要的設(shè)備文件到,_install/dev,目錄下,,#cp –,dpR,/dev/* /home/Liod270/Filesystem/busybox-1.00-pre5/_install/dev,,-,dp,參
25、數(shù)表示復(fù)制過程中保證鏈接文件保持不變,但不會復(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,來實現(xiàn),,,Ramfs,:內(nèi)存文件系統(tǒng),,處于虛擬文件系統(tǒng)(,VFS,)層,,無需格式化,,可以
26、創(chuàng)建多個,只要內(nèi)存足夠,在創(chuàng)建時可以指定其最大能使用的內(nèi)存大小,,Ramfs,使用,,前提:將,ramfs,編譯進(jìn)內(nèi)核,,創(chuàng)建一個目錄,加載,Ramfs,到該目錄即可:,#,mkdir,/,testRam,# mount -t,ramfs,none /,testRAM,,,缺省情況下,,ramfs,被限制最多可使用內(nèi)存大小的一半,,可以通過,maxsize,(以,kbyte,為單位)選項來改變,# mount -t,ramfs,none /,testRAM,-o,maxsize,=2000,,(,創(chuàng)建了一個限定最大使用內(nèi)存為,2M,的,ramdisk,),使用主機(jī)的,loopback,設(shè)備建立
27、,ramfs,創(chuàng)建一個連續(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,中的這個地址,,,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ī)的資源,,本地工作站使用更少的磁盤空間,因為通常的數(shù)據(jù)可以存放在一臺機(jī)器上而且可以通過網(wǎng)絡(luò)訪問到。,
29、,用戶不必在每個網(wǎng)絡(luò)上機(jī)器里頭都有一個,home,目錄。,home,目錄 可以被放在,NFS,服務(wù)器上并且在網(wǎng)絡(luò)上處處可用。,,諸如軟驅(qū),,CDROM,,和,Zip?,之類的存儲設(shè)備可以在網(wǎng)絡(luò)上面被別的機(jī)器使用。這可以減少整個網(wǎng)絡(luò)上的可移動介質(zhì)設(shè)備的數(shù)量。,NFS,如何工作的?,NFS,至少包括兩個主要的部分:,一臺服務(wù)器,,以及,至少一臺客戶機(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,的請求。這是可選的,而且可以提高性能,對于普通和正確的操作來說并不是必須的。,四,NFS,文件系統(tǒng)實驗 (,1,),NFS,是用于在不同機(jī)器,不同操作系統(tǒng)之間通過網(wǎng)絡(luò)互相分享文件 的,,建立,NFS,開發(fā)環(huán)境的工作分為兩個方面:,配置,NFS,服務(wù)器和配置客戶端,,基本的命令格式,,Mount,的基本命令格式如下:,,,Umount,的基本命令格式:,,mount -t type [-,rv,] -o [option],server:pathname,/,mount_point,,umount,[-,dflnrv,
31、] dir | device [...],四,NFS,文件系統(tǒng)實驗 (,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)實驗(,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)實驗(,4,),掛載,NFS,文件系統(tǒng),,開發(fā)板上進(jìn)行,mount,操作,把,PC,上的某個目錄掛載上來:,,,,,,,把,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)實驗(,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,和對應(yīng)的,NFS daemons,是否運(yùn)行,,,打開服務(wù)端,PC,上的,/,var/lib/
35、nfs/rmtab,文件,,清,空內(nèi)容,,,重起,NFS,服務(wù),,四,NFS,文件系統(tǒng)實驗(,6,),加載,NFS,為根文件系統(tǒng),,1,)重新配置內(nèi)核,,,在,General setup,里面重新設(shè)置,Default kernel command string,的值,(,P163,),,在,Network File Systems,選項中需要選中“,Root file system on NFS”,,在,Block devices,選項中把“,RAM disk support”,選項去除,選中“,Network block device support”,,,配置完內(nèi)核,重新,make,zIm
36、age,,生成新的鏡像,,,,,,2,)配置服務(wù)端,PC,,,/,tftpboot,目錄下新增子目錄,pxa255,,用作新的根文件系統(tǒng),,,把原文件系統(tǒng)下的文件拷貝到,/tftpboot/pxa255,中,,重新編輯,/etc/exports,文件如下:,,,,,重新啟動,NFS,服務(wù),$ vi /etc/exports,,/tftpboot/pxa255 (,rw,no_root_squash,),,3,)重起開發(fā)板,使用,tftp,協(xié)議加載新的內(nèi)核鏡像, 系統(tǒng)啟動后,使用,boot,命令直接引導(dǎo),,4,)確認(rèn)新的根目錄是否是,PC,端的,/tftpboot/pxa255,目錄,,實驗五,
37、samba,介紹與應(yīng)用,samba,介紹,,samba,是一組軟件包,使,Linux,支持,SMB,(服務(wù)消息塊)協(xié)議,該協(xié)議由,TCP/IP,實現(xiàn),它是,windows,網(wǎng)絡(luò)文件和打印共享基礎(chǔ),,在,網(wǎng)絡(luò),上共享,目錄,,就好像一臺文件,服務(wù)器,一樣。,,在,網(wǎng)絡(luò),上共享打印機(jī)。,,決定每一個,目錄,由,誰,來使用,可以,讓,一個人、某些人、組和所有人訪問。,,決定打印機(jī)由,誰,來使用,可以,讓,一個人、某些人、組和所有人使用。,,實驗五,samba,介紹與應(yīng)用,samba,組成,,samba,的核心是兩個守護(hù)進(jìn)程,smbd,和,nmbd,程序,在服務(wù)器啟動到停止期間持續(xù)運(yùn)行。,smbd,進(jìn)
38、程的作用是處理到來的,SMB,軟件包,為使用該軟件包的資源與,Linux,進(jìn)行協(xié)商,,nmbd,進(jìn)程使其它主機(jī)(或工作站)能瀏覽,Linux,服務(wù)器。,,,一個完整的,smb.conf,一般由,Global settings,和,share Definitions,兩部分組成,,,samba,的啟動與停止,,在缺省情況下,,Red Hat Linux,的,samba,在啟動時就已投入運(yùn)行,,也可利用系統(tǒng)腳本來手工啟動和停止,samba,,# /etc/,rc.d/init.d/smb,start (,啟動,samba),,# /etc/,rc.d/init.d/smb,stop (,停止,sa
39、mba),定制,samba,(,1,),定制,samba,,用戶通過對,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,),為多個用戶提供服務(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 (,三用戶對,/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,實驗(,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,實驗(,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,實驗(,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,實驗(,4,),將編譯后的,samba,源碼目錄下的,bin/,子目錄里的內(nèi)容拷貝到,/,usr,/local/samba/bin,,配置,smb.conf,,,添加、刪除及修改,smba,提供的多種服務(wù),,用,smbpasswd,-a username,添加一個,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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅決打好反腐敗斗爭攻堅戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會上和基層單位調(diào)研座談會上的發(fā)言材料
- 總工會關(guān)于2025年維護(hù)勞動領(lǐng)域政治安全的工作匯報材料
- 基層黨建工作交流研討會上的講話發(fā)言材料
- 糧食和物資儲備學(xué)習(xí)教育工作部署會上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機(jī)關(guān)單位、市紀(jì)委監(jiān)委2025年工作計劃
- 檢察院政治部關(guān)于2025年工作計劃
- 辦公室主任2025年現(xiàn)實表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項規(guī)定精神學(xué)習(xí)教育工作部署會議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學(xué)習(xí)教育動員部署會上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會上的發(fā)言材料
- 國企黨委關(guān)于推動基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報告材料
- 副書記在2025年工作務(wù)虛會上的發(fā)言材料2篇