一、開篇
在嵌入式linux開發過程中,由于目標平臺的資源限制,開發環境一般都不會放到目標板卡上(需要放在開發宿主機上),如果需要宿主機與目標板卡之間進行文件傳輸,該怎么辦來著。這時候nfs就派上用場啦。nfs(Network File System)是一個網絡文件系統。使用該文件系統,便能在目標板卡上訪問開發宿主機上的文件,還能進行互相拷貝和移動,非常方便。不用使用U盤拷貝等低效率的開發方式了。
本文主要描述nfs的搭建方式,由于不同環境和系統下,nfs服務搭建方式可能不同,故將環境描述如下:
【環境描述】
二、搭建nfs服務
(2-1)下載nfs服務軟件包
首先,在虛擬機ubuntu中,在終端使用下列命令安裝nfs:
sudoapt-getinstallnfs-kernel-server
(注:由于小生已經安裝過了,故沒有新安裝軟件包)
(2-2)配置nfs
使用以下命令:
gedit/etc/exports
在文件最后一行添加如下內容:/home/nfs/ *(rw,sync,no_root_squash)
完成后如下圖所示:
-
/home/nfs/:指示要共享的目錄;“/home/nfs/ ”目錄需要自己創建。
-
*:代表允許所有的網絡段訪問。
-
rw:指示具有可讀寫的權限。
-
sync:指示資料同步寫入內存和硬盤
-
no_root_squash:是 Ubuntu nfs 客戶端分享目錄使用者的權限。例如:如果客戶端使用的是 root 用戶,那么對于該共享目錄而言,該客戶端就具有 root 權限。
(2-3)啟動rpcbind服務
使用以下命令重新啟動rpcbind服務:
/etc/init.d/rpcbindrestart
(2-4)啟動nfs服務
使用以下命令重新啟動nfs服務:
/etc/init.d/nfs-kernel-serverrestart
(2-5)驗證nfs
使用以下命令:
showmount-e
可以查看系統是否成功掛載nfs目錄。(注:如果沒有輸出,可能需要重新啟動ubuntu后,再使用該條命令查看!!!)
在上圖中,看到輸出信息為:/home/nfs *
,則證明nfs已經啟動成功。
至此,虛擬機ubuntu上的nfs服務就搭建好了。接下來,就需要在硬件板卡上掛載nfs文件系統了。
三、硬件板卡端接入nfs服務
在接入之前,需要獲取ubuntu和硬件板卡的ip地址:
回到硬件板卡的終端中:
- 查看硬件板卡的ip地址:
(注:硬件板卡有兩個網口且網線連接的是eth1)
回到虛擬機ubuntu中:
- 查看虛擬機ubuntu的ip地址:
在硬件板卡linux命令行終端下使用以下命令:
mount-tnfs-onfsvers=3,nolock192.168.155.44:/home/nfs/mnt/
掛載nfs文件系統。上面這條命令的意思是:以nfs方式將指定ip地址(文本是192.168.155.44)上的(/home/nfs) 目錄掛載到/mnt/路徑上。
隨后,我們便可以使用:
cd/mnt/
切換到nfs服務器對應的目錄路徑下,該目錄就是虛擬機ubuntu與硬件板卡之間的通信橋梁了(共享目錄)。快到七夕了,把它想象成鵲橋吧(0.0)
在硬件板卡上,路徑/mnt/則是共享目錄,在該目錄下的文件則是虛擬機ubuntu路徑/home/nfs目錄下的文件,我們就通過這兩個目錄互傳文件啦。
【備注】
(1)如果不使用nfs了,我們可以使用:
umount/mnt/
卸載nfs掛載服務。
(2)在獲取到虛擬機ubuntu系統和硬件板卡的IP地址后,需要互ping一下,確保二者之間能夠互相ping通。
(3)硬件板卡上的linux內核需要支持nfs特性。
好啦,就先寫到這吧!
審核編輯:湯梓紅
-
嵌入式
+關注
關注
5046文章
18821瀏覽量
298586 -
Linux
+關注
關注
87文章
11123瀏覽量
207919 -
NFS
+關注
關注
1文章
52瀏覽量
26051
原文標題:搭建nfs服務,這也太“簡單”了
文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論