《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式Linux NFS根文件系統的構建及研究
嵌入式Linux NFS根文件系統的構建及研究
電子設計工程
康天下,支劍鋒
摘要: 在嵌入式Linux系統開發過程中,根文件系統是構建嵌入式Linux系統的重要組成部分。為了方便和簡化嵌入式Linux開發過程中的調試過程,主要研究了如何使用Busybox構建出基本的嵌入式Linux根文件系統,包括Busybox的配置、編譯和安裝。在此基礎上,進一步構建出基于NFS的嵌入式Linux根文件系統,并給出了啟動腳本和配置文件。這種根文件系統可以方便地在線更改、調試程序,降低了嵌入式系統的開發門檻。
Abstract:
Key words :

隨著信息技術的發展,嵌入式系統技術已經廣泛應用于國防、通信、工業控制、消費電子等諸多領域。其中,Linux作為一款開源、成熟且高效穩定的多任務操作系統,先天具有許多不可比擬的優勢,已成為目前最具潛力的嵌入式操作系統。眾所周知,構建根文件系統對于嵌入式Linux開發至關重要,它是內核啟動后加載的第1個文件系統,是決定系統能否正常啟動的關鍵所在。在開發階段,程序往往需要反復多次的調試,鑒于此,構建基于NFS(Network File System)的根文件系統就尤為重要;這樣就免去了對目標開發板的反復燒寫,方便地在線對程序進行更改與調試。本文以Busybox軟件為基礎,介紹了一種實用的NFS根文件系統構建方法。

1 嵌入式根文件系統簡介
Linux啟動時,第一個必須掛載的就是根文件系統;若系統不能從指定設備上掛載根文件系統,則系統會報錯進而退出啟動。系統成功啟動之后,才可以自動或手動掛載其他的文件系統。
Linux系統各個分區存儲文件時,需要遵循一定的格式,這種文件格式稱為文件系統類型,比如常見的有ext2,ext3,ext4等。在存儲設備方面,FLASH是目前嵌入式系統中廣泛采用的主流存儲設備,它是一種可電擦寫的非易失性存儲器,具有體積小,功耗低,密度高等優點。目前FLASH中常見的文件系統主要有Cramfs,Jffs2,Yaffs2等。嵌入式Linux基本的根文件目錄結構如表1所示。

a.jpg



2 Busybox簡介
Busybox常被形象地稱為嵌入式Linux系統開發中的“瑞士軍刀”,它將許多常用的UNIX命令和工具結合到了一個單獨的可執行程序中。雖然與相應的GNU工具相比較,Busybox所提供的功能和參數略少,但在比較小的系統或者嵌入式系統中已經足夠了。它僅用一個可執行文件就可以提供基本的Linux操作系統所需的命令,體積很小,配置起來也很方便。

3 Busybox的編譯與安裝
3.1 開發環境
基于飛凌OK-2440Ⅲ的硬件平臺采用S3C2440芯片,外圍包括64 MB的SDRAM內存、128 MB的NAND FLASH,以及4 MB的NOR FLASH。采用宿主機加目標板的開發模式,宿主機的系統是Fedora12,目標板的內核版本是Linux2.6.30.4,Bootloader采用U-boot。
3.2 配置Busybox
Busybox的源碼在官方網站www.Busybox.net/下載,然后解壓并進行配置安裝,具體步驟如下:
b.jpg

在執行make命令之前應該修改頂層Makefile文件(ARCH=arm,CROSS_COMPILE=arm-linux-),也可以在make menuconfig進一步根據自己的需要來靈活配置Busyhox。執行完make install命令后會自動在當前目錄的_install目錄下生成bin,sbin,linuxrc三個文件。
配置界面如圖1所示。

g.jpg



4 構建根文件系統
4.1 創建腳本文件
為了簡化構建根文件系統的操作,首先進入到開發目錄,如下新建一個腳本文件create_myrootfs_bash:
c.jpg
使用命令chmod+x create_myrootfs_bash改變文件的可執行權限,./create_myrootfs_bash運行腳本,就完成了基本根文件系統目錄的創建。

4.2 建立系統配置文件inittab,fstab,rcS
d.jpg
4.3 安裝動態庫
如果Busybox采用動態鏈接的方式編譯,還需要加載器和鏈接庫執行如下命令:
h.jpg

5 NFS的安裝與配置
NFS(Network File System)是由SUN公司推出的一種分布式文件系統,它能使用戶在使用另外的聯網機文件或外設時,與使用本地機一樣方便。以root的身份在控制臺輸入setup,在系統服務選項中選中nfs服務,如圖2所示。

i.jpg


配置NFS服務器的共享主目錄,注意權限問題:
k.jpg

6 掛載NFS根文件系統
通過串口和RJ45網口連接宿主機與目標開發板,啟動超級終端,輸入以下命令:
l.jpg
目標板啟動后在超級終端中顯示的結果如圖3所示。可見,NFS根文件系統已經成功加載。

j.jpg



7 結語
對以Busybox制作嵌入式Linux根文件系統的基本方法進行了歸納和總結,進一步給出了基于NFS構建的嵌入式Linux根文件系統的一般方法。利用此法構建出來的NFS根文件系統可以直接用于嵌入式Linux系統的開發,實時方便地對開發程序進行更改和調試,有效地避免了反復對目標開發板的直接燒寫,提高了開發效率,縮短了開發周期。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 宝贝乖女好紧好深好爽老师| 日韩精品在线电影| 再深点灬舒服了灬太大了在线观看| 香蕉在线视频播放| 国产福利萌白酱喷水视频铁牛| 97日日碰曰曰摸日日澡| 好男人在线社区www在线观看视频| 中文字幕无码视频专区| 日美女大长腿b| 乱人伦人妻中文字幕在线入口| 欧美白人最猛性xxxxx欧美馆| 免费a级毛片无码av| 精品水蜜桃久久久久久久| 国产chinasex对白videos麻豆 | 天天干天天射综合网| 一级黄色大片网站| 我要打飞华人永久免费| 久久午夜无码鲁丝片| 日韩精品一区二区三区视频| 亚洲人成人77777网站| 欧美日韩中文字幕在线观看 | 亚洲一卡2卡4卡5卡6卡在线99| 欧美日韩高清完整版在线观看免费| 亚洲综合在线一区二区三区| 男人j进女人p免费动态图| 免费无码成人AV片在线在线播放| 精品无码三级在线观看视频| 啊轻点灬大巴太粗太长了视频 | 在线观看日韩视频| a级毛片免费全部播放无码| 女同久久另类99精品国产| 一嫁三夫电影免费观看| 尤物193yw在线看| 一级做a爰全过程免费视频毛片| 成年女人免费v片| 中文字幕在线视频在线看| 无码A级毛片免费视频内谢| 久久99国产一区二区三区| 无码av专区丝袜专区 | 波多野结大战三个黑鬼| 亚洲精品第二页|