在這裏,TQ2416系列----開發板與虛擬機之間搭建NFS

TQ2416  開發板與虛擬機之間搭建NFS

在實際的開發中,當我們在開發板上搭建好ARM+LINUX的開發環境(uboot,linux內核,文件系統都裁剪幷移植到開發板上),專注於應用程序的開發的時候,我們要做的事情是:在虛擬機上,利用交叉編譯把我們的應用程序編譯好,然後移植到開發板跑起來。本文主要介紹一下利用NFS將虛擬機上交叉編譯好的應用程序下載到開發板上的方法

搭建的整體思路

#1、在虛擬機上安裝nfs軟件,將其配置好,並在虛擬機上測試NFS的功能,確保NFS安裝配置OK。

#2、在開發板的調試終端上用mount命令掛載NFS

#3、用cp命令將虛擬機的上編譯好的應用程序copy到開發板的路徑裏

搭建步驟

聲明:

#1、本文的操作環境VMwarePlayer+Ubuntu 12.04LTS

#2、本文中linux指令描述爲:@cp表示爲在虛擬機的終端裏輸入cp指令

1在虛擬機上安裝NFS

1.1安裝NFS

@sudo apt-get install nfs-kernel-server

1.2配置NFS共享參數

@vi/etc/exports

然後編輯NFS服務的配置文件,在exports裏面添加一句話:/opt/EmbedSky/root_nfs  *(rw,sync,no_root_squash)

具體含義爲:

---->/opt/EmbedSky/root_nfs:NFS共享目錄

---->*:所有的客戶機都可以掛載此目錄

---->rw:掛載此目錄的客戶機對此目錄的操作權限爲:rw(讀寫)

---->sync:所有數據在請求時寫入共享

---->no_root_squash:允許掛載此目錄的客戶機享有該主機的root身份

1.3設置NFS共享目錄屬性

     對於1.2中的共享的目錄需要使能他的操作屬性,以便於寫入讀取

        @sudo chmod777 /opt/EmbedSky/root_nfs

1.4重啓NFS

@sudo/etc/init.d/nfs-kernel-server restart

     NFS重啓ok的畫面


2開發板上掛載NFS

        192.168.1.101爲主機IP。

       掛載命令:

       @mount-t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.101:/nfs目錄 /掛載路徑

如果採用普通的掛載命令:@mount-t nfs -o nolock,192.168.1.101:/主機nfs目錄 /掛載路徑。當從主機上拷貝的文件比較大時,在開發板的調試終端上會出現:nfs:serveris not responding,still trying。

原因:傳送的數據太大,出現數據包丟失現象。NFS的默認傳輸協議是UDP,而PC機與嵌入式系統通過UPD交互時就會出現嚴重的網卡丟包現象,可用的解決方案是:在客戶端改用TCP協議,使用下面的命令,

@mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.101:/主機nfs目錄 /掛載路徑

3文件複製

       在開發板的掛載路徑下,就可以看到NFS共享的文件,可以採用cp命令進行文件的copy


       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章