電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2806|回復(fù): 1
收起左側(cè)

西安正規(guī)的嵌入式培訓(xùn)機(jī)構(gòu)_詳細(xì)說明如何配置嵌入式linux 的nfs開發(fā)環(huán)境

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-14 16:53:14 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
西安正規(guī)的嵌入式培訓(xùn)機(jī)構(gòu)_詳細(xì)說明如何配置嵌入式linux 的nfs開發(fā)環(huán)境,   

NFS(Network File System)即網(wǎng)絡(luò)文件系統(tǒng),是FreeBSD支持的文件系統(tǒng)中的一種,它允許網(wǎng)絡(luò)中的計(jì)算機(jī)之間通過TCP/IP網(wǎng)絡(luò)共享資源。在nfs的應(yīng)用中,本地nfs的客戶端應(yīng)用可以透明地讀寫位于遠(yuǎn)端nfs服務(wù)器上的文件,就像訪問本地文件一樣。nfs作為一種將遠(yuǎn)程主機(jī)上的分區(qū)(目錄)經(jīng)網(wǎng)絡(luò)掛載到本地系統(tǒng)的一種機(jī)制,嵌入式開發(fā)者經(jīng)常需要到。

nfs有很多實(shí)際應(yīng)用。下面是比較常見的一些:

1. 多個機(jī)器共享一臺CDROM或者其他設(shè)備。這對于在多臺機(jī)器中安裝軟件來說更加便宜跟方便。

2. 在大型網(wǎng)絡(luò)中,配置一臺中心 nfs服務(wù)器用來放置所有用戶的home目錄可能會帶來便利。這些目錄能被輸出到網(wǎng)絡(luò)以便用戶不管在哪臺工作站上登錄,總能得到相同的home目錄。

3. 不同客戶端可在nfs上觀看影視文件,節(jié)省本地空間。

4. 在客戶端完成的工作數(shù)據(jù),可以備份保存到nfs服務(wù)器上用戶自己的路徑下。

nfs是運(yùn)行在應(yīng)用層的協(xié)議。隨著nfs多年的發(fā)展和改進(jìn),nfs既可以用于局域網(wǎng)也可以用于廣域網(wǎng),且與操作系統(tǒng)和硬件無關(guān),可以在不同的計(jì)算機(jī)或系統(tǒng)上運(yùn)行。

在嵌入式linux 的開發(fā)過程中,開發(fā)者需要在linux 服務(wù)器上進(jìn)行所有的軟件開發(fā),交叉編譯后,通用FTP 方式將可執(zhí)行文件下載到嵌入式系統(tǒng)運(yùn)行,但這種方式不但效率低下,且無法實(shí)現(xiàn)在線的調(diào)試。因此,可以通過建操作linux 服務(wù)器,同時可以在線對程序進(jìn)行調(diào)試和修改,大大的方便了軟件的開發(fā)。因此,nfs的是嵌入式linux 開發(fā)的一個重要的組成部分,本部分內(nèi)容將詳細(xì)說明如何配置嵌入式linux 的nfs開發(fā)環(huán)境。

嵌入式linux 的nfs開發(fā)環(huán)境的實(shí)現(xiàn)包括兩個方面:一是linux 服務(wù)器端的nfs服務(wù)器支持;二是嵌入式目標(biāo)系統(tǒng)的nfs客戶端的支持。因此,nfs開發(fā)環(huán)境的建立需要配置linux 服務(wù)器端和嵌入式目標(biāo)系統(tǒng)端。

一、linux 服務(wù)器端nfs服務(wù)器的配置

以root 身份登陸linux 服務(wù)器,編輯/etc 目錄下的共享目錄配置文件exports,指定共享目錄及權(quán)限等。

執(zhí)行如下命令編輯文件/etc/exports:

# vi /etc/exports

在該文件里添加如下內(nèi)容:

/home/work 192.168.0.*(rw,sync,no_root_squash)

然后保存退出。

添加的內(nèi)容表示:允許ip 地址范圍在192.168.0.*的計(jì)算機(jī)以讀寫的權(quán)限來訪問/home/work 目錄。

/home/work 也稱為服務(wù)器輸出共享目錄。

括號內(nèi)的參數(shù)意義描述如下:

rw:讀/寫權(quán)限,只讀權(quán)限的參數(shù)為ro;

sync:數(shù)據(jù)同步寫入內(nèi)存和硬盤,也可以使用async,此時數(shù)據(jù)會先暫存于內(nèi)存中,而不立即寫入硬盤。

no_root_squash:nfs服務(wù)器共享目錄用戶的屬性,如果用戶是 root,那么對于這個共享目錄來說就具有 root 的權(quán)限。嵌入式培訓(xùn)c語言, 指紋鎖嵌入式系統(tǒng), 嵌入式升降電梯, 聯(lián)想嵌入式操作系統(tǒng), 嵌入式軟件設(shè)計(jì)面試, 嵌入式u盤的技術(shù), 信封嵌入式公眾號, 嵌入式編程加減法, 嵌入式工程師成長之路, 嵌入式工軟件說明書, 嵌入式驅(qū)動難嗎, 電氣自動化搞嵌入式, web的嵌入式頁面, 安卓嵌入式指紋模塊, 嵌入式軟件銷售稅率, 嵌入式c51, 創(chuàng)新競賽嵌入式實(shí)驗(yàn), 主板嵌入式硬盤, 核心技能嵌入式, 嵌入式中的數(shù)據(jù)管理,

接著執(zhí)行如下命令,啟動端口映射:

# /etc/rc.d/init.d/portmap start

最后執(zhí)行如下命令啟動nfs服務(wù),此時nfs會激活守護(hù)進(jìn)程,然后就開始監(jiān)聽 Client 端的請求:

# /etc/rc.d/init.d/nfsstart

用戶也可以重新啟動linux 服務(wù)器,自動啟動nfs服務(wù)。

在nfs服務(wù)器啟動后,還需要檢查linux 服務(wù)器的防火墻等設(shè)置(一般需要關(guān)閉防火墻服務(wù)),確保沒有屏蔽掉nfs使用的端口和允許通信的主機(jī),主要是檢查linux 服務(wù)器iptables,ipchains 等選項(xiàng)的設(shè)置,以及/etc/hosts.deny,/etc/hosts.allow 文件。

我們首先在linux 服務(wù)器上進(jìn)行nfs服務(wù)器的回環(huán)測試,驗(yàn)證共享目錄是否能夠被訪問。在linux 服務(wù)器上運(yùn)行如下命令:

# mount –t nfs192.168.0.20:/home/work /mnt

# ls /mnt

命令將linux 服務(wù)器的nfs輸出共享目錄掛載到/mnt 目錄下,因此,如果nfs正常工作,應(yīng)該能夠在/mnt 目錄看到/home/work 共享目錄中的內(nèi)容。

二、嵌入式目標(biāo)系統(tǒng)nfs客戶端的配置

在linux 服務(wù)器設(shè)置好后,還需要對客戶端進(jìn)行相關(guān)配置。在配置內(nèi)核時選擇Load an Alternate Configuration File輸入配置文件的路徑和文件名添加內(nèi)核對nfs的支持:

選中networking options-》IP:kernel level auloconfiguralion項(xiàng)

選中file systems-》network file systems-》下的root file system on nfs

和nfsfile system support重新編譯內(nèi)核下載bootloader和kernel到開發(fā)板上

在嵌入式目標(biāo)系統(tǒng)的linux Shell 下,執(zhí)行如下命令來進(jìn)行nfs共享目錄掛載:

# mkdir /mnt/nfs//建立linux 服務(wù)器輸出共享目錄的掛載點(diǎn);

# mount –t nfs192.168.0.20:/home/work /mnt/nfs–o nolock

# cd /mnt/nfs

# ls

此時,嵌入式目標(biāo)系統(tǒng)端所顯示的內(nèi)容即為linux 服務(wù)器的輸出目錄的內(nèi)容,即linux 服務(wù)器的輸出目錄/home/work 通過nfs映射到了嵌入式目標(biāo)系統(tǒng)的/mnt/nfs目錄。用戶可以用增/刪/修改文件的方式來驗(yàn)證實(shí)際效果。mount 命令中的192.168.0.20 為linux 服務(wù)器的IP 地址,/home/work 為linux 服務(wù)器端所配置的共享輸出目錄,/mnt/nfs為嵌入式設(shè)備上的本地目錄。

  
  




在開發(fā)過程中,來回輸入命令非常煩人,我寫了兩個簡單的腳本來完成nfs的啟動,掛載。

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表