第6章嵌入式文件系統(tǒng)_第1頁
第6章嵌入式文件系統(tǒng)_第2頁
第6章嵌入式文件系統(tǒng)_第3頁
第6章嵌入式文件系統(tǒng)_第4頁
第6章嵌入式文件系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

提綱1、嵌入式Linux文件系統(tǒng)簡介2、Linux文件系統(tǒng)框架和特性3、嵌入式文件系統(tǒng)實驗實驗一:建立文件系統(tǒng)實驗二:NFS文件系統(tǒng)實驗實驗三:Samba介紹與應用11.嵌入式Linux文件系統(tǒng)簡介嵌入式文件系統(tǒng)與桌面文件系統(tǒng)有較大區(qū)別:嵌入式文件系統(tǒng)要為嵌入式系統(tǒng)的設計目的服務,不同用途的嵌入式操作系統(tǒng)下的文件系統(tǒng)在許多方面各不相同。嵌入式Linux常用文件系統(tǒng):第二版擴展文件系統(tǒng)(Ext2fs)、JFFS和YAFFS21.1嵌入式文件系統(tǒng)的設計目標嵌入式文件系統(tǒng)的設計目標包括:使用簡單方便安全可靠實時響應接口標注的開放性和可移植性可伸縮性和可配置性開放的體系結構資源有效性功能完整性熱插拔支持多種文件類型

31.2嵌入式Linux常用文件系統(tǒng)FlashMemory簡介FlashMemory上的兩種技術NAND:串行;順序讀??;適合大容量;通常需MTDNOR

:并行;隨機讀??;適合數(shù)據或程序存儲;XIP;Xsbase開發(fā)平臺上所使用的閃存IntelStrataFlashMemory28F128J3A

Ext2fs、JFFS和YAFFSext、ext2、xia、vfat、minix、msdos、umsdos、proc、smb、ncp、iso9660、sysv、hpfs、affs、ufs、vfs等4第二版擴展文件系統(tǒng)(Ext2fs)的優(yōu)點Ext2fs支持達4TB的內存(Ext是2G)。Ext2fs文件名稱最長可以到1012個字符。當創(chuàng)建文件系統(tǒng)時,管理員可以選擇邏輯塊的大?。ㄍǔ4笮】蛇x擇1024、2048和4096字節(jié))。Ext2fs實現(xiàn)快速符號鏈接:不需要為此目的而分配數(shù)據塊,并且將目標名稱直接存儲在索引節(jié)點表中,這使性能有所提高,特別是在速度上。5JFFS和YAFFSJFFS文件系統(tǒng)主要針對NORFLASH設計,是一種基于Flash的日志文件系統(tǒng)。JFFS2的底層驅動主要完成文件系統(tǒng)對Flash芯片的訪問控制,如讀、寫、擦除操作。YAFFS主要針對NANDFLASH設計,和JFFS相比它減少了一些功能。自帶NAND芯片驅動,并且為嵌入式系統(tǒng)提供了直接訪問文件系統(tǒng)的API。YAFFS2是YAFFS的改進版本。62.Linux文件系統(tǒng)框架和特性現(xiàn)代操作系統(tǒng)都提供多種訪問存儲設備的方法Linux文件系統(tǒng)有兩條獨立控制設備驅動的途徑:通過設備驅動的接口通過文件管理器接口7Linux文件系統(tǒng)框架83.文件系統(tǒng)實驗實驗一 建立文件系統(tǒng)建立JFFS2文件系統(tǒng)建立RAMFS文件系統(tǒng)實驗二 NFS文件系統(tǒng)實驗實驗三 Samba介紹與應用9實驗一:建立文件系統(tǒng)JFFS2(1)JFFS2在Linux中有兩種使用方式:作為根文件系統(tǒng)作為普通文件系統(tǒng)在系統(tǒng)啟動后被掛載目錄采用Ramfs,當系統(tǒng)斷電后,該目錄所有的數(shù)據都會丟失。Linux下常用文件系統(tǒng)結構:1011實驗一:建立文件系統(tǒng)JFFS2(2)1)內核配置GeneralSetup項設成“root=1f03rwconsole=ttyS0,115200init=/linuxrc”通過MTD驅動在menuconfig中調用flashmemory設備驅動選擇CFIFlashdevicemappedontheXSBASE255PXA255board12實驗一:建立文件系統(tǒng)JFFS2(3)2)JFFS2映像生成Jffs2image通過mkfs.jffs2工具創(chuàng)建成imagemkfs.jffs2用法:-e選項確定閃存的擦除扇區(qū)大?。ㄍǔJ?4K)。-p選項用來在映像的剩余空間用零填充。-o選項用于輸出文件,這里是rootfs.img利用bootloader將生成的rootfs.img下載后寫入flash

再次重起開發(fā)板,內核就能加載JFFS2作為根文件系統(tǒng)

./mkfs.jffs2–orootfs–e0x400000–rroot_XSBASE–p-l13實驗一:建立文件系統(tǒng)RAMFS(1)RAMFS是內存文件系統(tǒng),它工作于虛擬文件系統(tǒng)(VFS)層RAMFS是一個非常巧妙的,利用VFS自身結構而形成的內存文件系統(tǒng)14實驗一:建立文件系統(tǒng)RAMFS(2)1)使用主機的loopback設備來實現(xiàn)loopback文件系統(tǒng)用ddif=/dev/zeroof=ramdisk_imgbs=1kcount=8192指令創(chuàng)建一個連續(xù)的8M大小的空間將此空間用mke2fs格式化為了對格式化的空間進行mount,創(chuàng)建一個目錄/tmp在tmp目錄里復制或創(chuàng)建設置文件,util,library等將工作目錄進行umount,再用gzip壓縮,則生成ramdisk_img.gz文件將此加載到bootloader,則新的ramdisk可用作根文件系統(tǒng)。15實驗一:建立文件系統(tǒng)RAMFS(3)修改一些內核配置XSBase255中setup_initrd()的0xA1000000成為SDRAM的ramdisk地址,ramdisk要下載到Bootloader中的這個地址

CONFIG_BLK_DEV_RAM_SIZE是menuconfig中設定的“DefaultRAMdisksize”大小修改DefaultKernelcommandstring為:“root=/dev/ramrwconsole=ttyS0,115200init=/linuxrc”。用于重新引導系統(tǒng)。161718實驗二 NFS文件系統(tǒng)實驗(1)NFS是用于在不同機器,不同操作系統(tǒng)之間通過網絡互相分享文件的建立NFS開發(fā)環(huán)境的工作分為兩個方面:配置NFS服務器和配置客戶端基本的命令格式Mount的基本命令格式如下:Umount的基本命令格式:mount-ttype[-rv]-o[option]server:pathname/mount_point

umount[-dflnrv]dir|device[...]19實驗二 NFS文件系統(tǒng)實驗(2)配置NFS服務端在HostPC上打開/etc/exports文件,并進行如下設置:把/mnt/nfs設置完成后重新開始NFSdeamon

[root@XSBasehome]#vi/etc/exports/mnt/nfs(rw,no_root_squash)[root@XSBasehome]#/etc/rc.d/init.d/nfsstop[root@XSBasehome]#/etc/rc.d/init.d/nfsstart20實驗二 NFS文件系統(tǒng)實驗(3)配置NFS客戶端NFS客戶端是開發(fā)板,所以要讓開發(fā)板上的內核支持NFS,必須重新配置內核生成zImage鏡像文件,并下載到板子上。通過makemenuconfig指令在kernel設置窗進行NFS設置menuconfig窗口打開后,確認NFS設置是否被選上

重新編譯內核,新的內核下就可以使用nfs命令了

--->Network---><*>NFSsupport[*]ProvideNFSv3clientsupport[]RootonNFS21實驗二 NFS文件系統(tǒng)實驗(4)掛載NFS文件系統(tǒng)開發(fā)板上進行mount操作,把PC上的某個目錄掛載上來:

把HostPC的/mnt/nfs目錄mount到開發(fā)板的/mnt目錄下使用。是PC的ip。接下來就可以在新mount上來的目錄下做各種操作,掛載工作完成[root@xsbase255]#mount–tnfs:/mnt/nfs/mnt[root@xsbase255]#cd/mnt22實驗二 NFS文件系統(tǒng)實驗(5)如果出現(xiàn)沒法mount上去的情況,可以按照以下步驟進行檢查:用rpcinfo-pserver_name去查看此server是否存在用rpcinfo-userver_namemount查看mountddaemon是否有在server上執(zhí)行假如server都沒問題,檢查server和client之間的網線連接在client上用psax查看portmap和對應的NFSdaemons是否運行

打開服務端PC上的/var/lib/nfs/rmtab文件,清空內容

重起NFS服務

23實驗二 NFS文件系統(tǒng)實驗(6)加載NFS為根文件系統(tǒng)1)重新配置內核

在Generalsetup里面重新設置Defaultkernelcommandstring的值在Network選項中需要選中“RootonNFS”在Blockdevices選項中把“RAMdisksupport”選項去除,選中“Networkblockdevicesupport”

配置完內核,重新makezImage,生成新的鏡像

242526272)配置服務端PC

/t目錄下新增子目錄pxa255,用作新的根文件系統(tǒng)

把原文件系統(tǒng)下的文件拷貝到/t中重新編輯/etc/exports文件如下:重新啟動NFS服務$vi/etc/exports/t(rw,no_root_squash)283)重起開發(fā)板,使用tftp協(xié)議加載新的內核鏡像,系統(tǒng)啟動后,使用boot命令直接引導4)確認新的根目錄是否是PC端的/t目錄

29實驗三 Samba介紹與應用Samba介紹Samba是一組軟件包,使Linux支持SMB(服務消息塊)協(xié)議,該協(xié)議由TCP/IP實現(xiàn),它是windows網絡文件和打印共享基礎samba的核心是兩個守護進程smbd和nmbd程序,在服務器啟動到停止期間持續(xù)運行。Smbd進程的作用是處理到來的SMB軟件包,為使用該軟件包的資源與Linux進行協(xié)商,nmbd進程使其它主機(或工作站)能瀏覽Linux服務器。

一個完整的smb.conf一般由Globalsettings和shareDefinitions兩部分組成

30思考:使用BusyBox構建根文件系統(tǒng)Busybox是DebianGNU/Linux的大名鼎鼎的BrucePerens首先開發(fā),。后來又有許多Debiandevelopers貢獻力量,這其中尤推busybox目前的維護者ErikAndersen,他患有癌癥,可卻是一名優(yōu)秀的自由軟件開發(fā)者。Busybox包括一個迷你的vi編輯器,系統(tǒng)不可或缺的/sbin/init程序,以及其他諸如sed,ifconfig,halt,reboot,mkdir,mount,ln,ls,echo,cat...等等,大小也不過100K左右。而且,用戶還可以根據自己的需要,決定到底要在busybox中編譯進哪幾個應用程序的功能。busybox的體積可以進一步縮小。BusyBox支持多種體系結構,可以靜態(tài)或動態(tài)鏈接glic或者uclibc庫,以滿足不同的需要,也可以修改BusyBox默認的編譯配置以移除不想使用的命令的支持。31samba的啟動與停止在缺省情況下,RedHatLinux的samba在啟動時就已投入運行也可利用系統(tǒng)腳本來手工啟動和停止samba#/etc/rc.d/init.d/smbstart(啟動samba)#/etc/rc.d/init.d/smbstop(停止samba)32定制samba(1)定制samba用戶通過對smb.conf文件進行vi編輯,可以添加、刪除及修改smba提供的多種服務。向用戶開放Linux文件資源,只有讀權限。[public]comment=publicstuffpath=/public=yeswritable=noprintale=nowritelist=@staff33定制samba(2)共享CD-ROM修改smb.conf之前,先安裝光驅,可執(zhí)行下列命令:#mount-tiso9660/dev/cdrom/mnt/cdrom然后定制samba,內容如下:[cdrom]path=/mnt/cdromreadyonly=yespublic=yes34定制samba(3)為多個用戶提供服務comment=userl’sstuff,user2’sstuff,user3’sstuffpath=/home/user1(用戶userl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論