在6410上掛載NFS服務器

 在6410上掛載NFS服務器

硬件平臺:OK6410 虛擬機操作系統:ubuntu
Step1:pc端安裝nfs服務器 在Ubuntu 上新建一個終端,依次輸入以下命令:
apt-get install nfs-kernel-server
apt-get install portmap
*先查看有沒有安裝nfs-utils的安裝包,命令:#rpm -q nfs-utils
如果沒有安裝包,需要掛載linux的安裝包

接着 #mount /dev/cdrpm /mnt/ 將安裝包掛載到/mnt的目錄下
安裝命令:#rpm -ivh nfs-utils-1.0.9-24.el5.i386.rpm

Step2:ip配置

1.命令格式爲:ifconfig eth1 IP地址 netmask 子網掩碼 up ;

2.虛擬機需要改爲橋接模式:


3.Vmnet和本地網卡的ip可以不用設置,只設置虛擬機的和開發板的,保證兩者能ping通即可。如本例設施主機ip:192.168.2.1/24 開發板ip:192.168.2.10/24
(查看虛擬機的ip:在終端輸入ifconfig命令;查看開發板的ip:把開發板和網線、串口線和電源接起來,打開DNW
,同樣輸入ifconfig,可以查看開發板的ip)

//保持虛擬機、宿主機與開發板的IP在同一網段,並且能夠ping通。(重要)
                                                                     (*VMnet1的IP不能和虛擬機的IP一樣,但要在同一個網段)

*如果是有多張網卡的,要在虛擬機的“Edit-Virtual Network Editor”那裏設置,把橋接那裏的選項選擇爲當前使用的網卡(如果只有一張網卡就不用設置,默認爲Automatic),否則會出現本地電腦能和虛擬機ping通,但虛擬機也無法和本地電腦ping通的情況


4.Windows殺軟與防火牆需關掉,不然會出現mount之後長時間沒反應
關閉虛擬機的防火牆:ufw disable。


Step3: pc端配置

1.修改/etc/exports,在末尾添加:/home 192.168.0.*(rw,sync,no_root_squash)




//共享目錄是Linux下的home文件夾(可自定義)
// 192.168.0.* 允許訪問nfs服務器共享目錄的ip範圍,可自定義
// rw客戶機對共享目錄權限
// sync同步寫入存儲器,可選
// no_root_squash允許客戶機享有主機root身份,可選
// 括號中的三個參數之間不可有空格
// /root/nfs與 192.168.2.*間有一個空格
2.重啓nfs服務:service nfs-kernel-server restart
service portmap restart
**注:

service nfs-kernel-server restart——重啓NFS服務

service nfs-kernel-server start——啓動NFS服務

service nfs-kernel-server stop——停止NFS服務

redhat下爲nfs;ubuntu下爲nfs-kernel-server;不加restart、start或stop會出現* Usage: nfs-kernel-server {start|stop|status|reload|force-reload|restart}這樣的錯誤提示。

*檢查服務是否已經運行:
#service portmap status
#service nfs-kernel-server status
3.使以上改動生效:exportfs –a

exportfs
-a:全部掛載(或卸載和-u連用時)/etc/exports文件內的設置
-r
重新掛載/etc/exports裏面的設置,此外,亦同步更新/etc/exports/var/lib/nfs/xtab的內容
-u:卸載某一目錄
-v
:在export的時候,將分享的目錄顯示到屏幕上

exportfs -arv重新掛載一次 /etc/exports的設置
exportfs –auv全部卸載



Step4:開發板掛載

在DNW上輸入mount -t nfs -o olock 192.168.0.1:/home /temp
(*192.168.0.1是虛擬機的IP,home是虛擬機系統下要共享的文件,temp是開發板上存放共享文件的文件夾)

命令執行成功後,開發板的/temp目錄就和Linux宿主機的 /home 目錄建立了共享關係,在超級終端或DNW中執行 ls -al /temp ,可以看到宿主機/home 文件目錄下的所有內容。另外可以在PC Linux上編譯應用程序,放到PC機的/home目錄,在超級終端或DNW 中執行cd /temp 命令進入到temp目錄下面,執行應用程序,這樣會加快開發


Tips:
如果不成功主要考慮:
1.共享目錄權限;
2.Ip設置;
3.防火牆與殺軟;

4.是否重複掛載;
5.虛擬機與windows間的共享目錄不能被掛載;
6.有些情況下掛載命令不加“-o nolock”會報錯。



首先掛載前,請仔細檢查以下硬件設備是否都連接好:
1、電源線插上;
2、串口線連接好開發板COM0和PC機;
3、USB電纜連接開發板和PC機;
4、網線插上。
如果網線沒接上,就會出現這樣的問題
rpcbind: server x.x.x.x not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
Root-NFS: Server returned error -5 while mounting /home/glorin/sharetmp/filesys
針對這種問題,有兩個地方要注意,除了上面的網線沒有插上外,另外的就是主機IP(我的是虛擬機中的
Ubuntu的IP)和開發板的IP不在同一
個網段內。
解決方法
1.改主機IP;
先在DNW查看開發板的IP,接着把主機和虛擬機的IP網段設置和開發板的一樣。
開始->控制面板->網絡和共享中心->

點擊本地連接->屬性->點擊TCP/IPv4,把IP設置在同一個網段
對於VMware Network Adapter VMnet1的IP也設置在和主機同樣的網段,操作一樣。

2.改開發板IP
那麼怎麼才知道開發板IP?


正確的查看你開發板上的IP地址是在設置uboot啓動參數後利用printenv,在顯示你的設置uboot參數之前,前面幾行會有顯示
ipaddress=x.x.x.x
serverip=x.x.x.x
......
這其中的ipaddress纔是你開發板上真正的ip地址,即便你在setenv中改了,也是沒有改過來!你會發現這兩個ip是在同一個網段的。
好,這就是你要設置的兩個ip。既然如此,那就更改ip吧。(已經改好的不用改)
更改主機IP方法:
$ sudo vim etc/network/interfaces
然後設置:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.20(參考,請寫剛纔與ipaddress同一網段內,或者乾脆寫serverip中的IP)
netmask 255.255.255.0
gateway 192.168.1.1(參考,這個應該知道該怎麼設置吧)

修改後重啓網絡配置:
sudo /etc/init.d/networking restart
完了保證設置完全正確,對於使用ubuntu系統的人,請修改/etc/NetworkManager/nm-system-settings.conf
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
將managed=ture改爲false。

然後執行sudo /etc/init.d/network-manager restart,重新配置一下。(對於DNS,設置的話:sudo /etc/resolv.conf即可)
至此主機IP地址設置完成。
或者你不想修改主機IP,說我還想上網的。這個關係也不大,成功掛載及燒寫文件系統成功後再改回去就是了。
好吧,那就改開發板上的IP,這個你的先能夠進入開發板環境

 

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