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

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

1 嵌入式根文件系統(tǒng)簡(jiǎn)介
Linux啟動(dòng)時(shí),第一個(gè)必須掛載的就是根文件系統(tǒng);若系統(tǒng)不能從指定設(shè)備上掛載根文件系統(tǒng),則系統(tǒng)會(huì)報(bào)錯(cuò)進(jìn)而退出啟動(dòng)。系統(tǒng)成功啟動(dòng)之后,才可以自動(dòng)或手動(dòng)掛載其他的文件系統(tǒng)。
Linux系統(tǒng)各個(gè)分區(qū)存儲(chǔ)文件時(shí),需要遵循一定的格式,這種文件格式稱為文件系統(tǒng)類型,比如常見的有ext2,ext3,ext4等。在存儲(chǔ)設(shè)備方面,F(xiàn)LASH是目前嵌入式系統(tǒng)中廣泛采用的主流存儲(chǔ)設(shè)備,它是一種可電擦寫的非易失性存儲(chǔ)器,具有體積小,功耗低,密度高等優(yōu)點(diǎn)。目前FLASH中常見的文件系統(tǒng)主要有Cramfs,Jffs2,Yaffs2等。嵌入式Linux基本的根文件目錄結(jié)構(gòu)如表1所示。

a.jpg



2 Busybox簡(jiǎn)介
Busybox常被形象地稱為嵌入式Linux系統(tǒng)開發(fā)中的“瑞士軍刀”,它將許多常用的UNIX命令和工具結(jié)合到了一個(gè)單獨(dú)的可執(zhí)行程序中。雖然與相應(yīng)的GNU工具相比較,Busybox所提供的功能和參數(shù)略少,但在比較小的系統(tǒng)或者嵌入式系統(tǒng)中已經(jīng)足夠了。它僅用一個(gè)可執(zhí)行文件就可以提供基本的Linux操作系統(tǒng)所需的命令,體積很小,配置起來(lái)也很方便。

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

在執(zhí)行make命令之前應(yīng)該修改頂層Makefile文件(ARCH=arm,CROSS_COMPILE=arm-linux-),也可以在make menuconfig進(jìn)一步根據(jù)自己的需要來(lái)靈活配置Busyhox。執(zhí)行完make install命令后會(huì)自動(dòng)在當(dāng)前目錄的_install目錄下生成bin,sbin,linuxrc三個(gè)文件。
配置界面如圖1所示。

g.jpg



4 構(gòu)建根文件系統(tǒng)
4.1 創(chuàng)建腳本文件
為了簡(jiǎn)化構(gòu)建根文件系統(tǒng)的操作,首先進(jìn)入到開發(fā)目錄,如下新建一個(gè)腳本文件create_myrootfs_bash:
c.jpg
使用命令chmod+x create_myrootfs_bash改變文件的可執(zhí)行權(quán)限,./create_myrootfs_bash運(yùn)行腳本,就完成了基本根文件系統(tǒng)目錄的創(chuàng)建。

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

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

i.jpg


配置NFS服務(wù)器的共享主目錄,注意權(quán)限問題:
k.jpg

6 掛載NFS根文件系統(tǒng)
通過串口和RJ45網(wǎng)口連接宿主機(jī)與目標(biāo)開發(fā)板,啟動(dòng)超級(jí)終端,輸入以下命令:
l.jpg
目標(biāo)板啟動(dòng)后在超級(jí)終端中顯示的結(jié)果如圖3所示。可見,NFS根文件系統(tǒng)已經(jīng)成功加載。

j.jpg



7 結(jié)語(yǔ)
對(duì)以Busybox制作嵌入式Linux根文件系統(tǒng)的基本方法進(jìn)行了歸納和總結(jié),進(jìn)一步給出了基于NFS構(gòu)建的嵌入式Linux根文件系統(tǒng)的一般方法。利用此法構(gòu)建出來(lái)的NFS根文件系統(tǒng)可以直接用于嵌入式Linux系統(tǒng)的開發(fā),實(shí)時(shí)方便地對(duì)開發(fā)程序進(jìn)行更改和調(diào)試,有效地避免了反復(fù)對(duì)目標(biāo)開發(fā)板的直接燒寫,提高了開發(fā)效率,縮短了開發(fā)周期。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 狼人大香伊蕉国产WWW亚洲| 调教家政妇第38话无删减| 女人18毛片水最多| 久久99热只有频精品8| 日韩精品久久久久影院| 亚洲激情校园春色| 男生和女生一起差差差差 | 最近中文字幕在线中文视频| 亚洲精品中文字幕乱码三区| 皇后羞辱打开双腿调教h| 又黄又爽无遮挡免费视频| 被公连续侵犯中文字幕| 国产影片中文字幕| 色综合色综合色综合色综合网| 国产精品第7页| 91精品国产91久久久久久最新| 在逃生游戏里挨c海棠小说| 一个人看的免费高清视频日本| 精品国产香蕉伊思人在线又爽又黄 | 国产免费av片在线无码免费看| 黄色片在线播放| 国产精品一级二级三级| 亚洲国产成a人v在线观看| 波多野结衣一区二区三区四区 | 269tv四季直播苹果下载| 国内精品久久久久久久97牛牛| 久久久噜噜噜久久久| 日韩男女做性高清在线观看| 亚洲av产在线精品亚洲第一站| 欧美卡2卡4卡无卡免费| 亚洲国产日韩在线人成下载| 欧美日韩免费播放一区二区| 亚洲欧美精品午睡沙发| 欧美视频在线免费| 亚洲爆乳精品无码一区二区| 毛片毛片免费看| 亚洲欧美国产另类视频| 欧美精品v日韩精品v国产精品| 亚洲日韩精品国产一区二区三区 | 亚洲综合图片小说区热久久| 波多野结衣大战欧美黑人|