nfs:server 172.168.1.22 not responding,still trying问题解决方法 平台为RealARM 210平台
nfs:server 172.168.1.22 not responding,still trying問題解決方法 ,平臺為RealARM 210平臺。
這里的問題是在使用nfs掛載文件系統(tǒng)時遇到的,所以這里只說明文件系統(tǒng)掛載時出現(xiàn)這問題的解決方案。出現(xiàn)問題的情況請看下圖:
在網(wǎng)上搜索可以搜到解決的辦法,但基本都是大同小異,或者說的不太明白,導(dǎo)致卡了我半天也沒解決。網(wǎng)上的解決方法如下,也許有些人的問題可以解決但是我的問題確實是沒有解決。
在mini2440開發(fā)板上掛載主機上的nfs文件系統(tǒng)后傳送較大文件時會出現(xiàn)下面的提示:
nfs:server is not responding, still trying
問題原因:
Mandag 27 november 2006 20:12 skrev Verner Kjrsgaard:
> Mandag 27 november 2006 19:33 skrev John P. New:
> > Verner,
> >
> > This is a problem with NFS and 2.6 kernels, fast server NICs and
> > comparatively slower client NICs. This will show up when the server has
> > a 1000Mb card and the client a 100Mb, or when the server has a 100Mb
> > card and the client a 10Mb.
> >
> > Essentially, you have to pass some options to the kernel on terminal
> > boot, and this varies depending on whether you are using etherboot or
> > PXE.
> >
> > See
> > http://wiki.ltsp.org/twiki/bin/view/Ltsp/NFS#NFS_Server_not_responding
> > for a deeper explanation of the problem and the cure.?
大意是說具有較高的傳送速率的NFS主機網(wǎng)卡和較低速率的目標(biāo)機網(wǎng)卡之間不匹配,要解決此問題需要在掛載文件系統(tǒng)時添加額外的參數(shù)。?
解決辦法:?
1?? 當(dāng)目標(biāo)機啟動后已經(jīng)進(jìn)入linux系統(tǒng)的情況下,使用以下mount命令:
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 59.70.245.216:/home/lizhao/rootfs? /mnt/nfs
(即添加了intr rsize=1024 wsize=1024 參數(shù),參數(shù)的具體意義見下面注釋)
2?? 當(dāng)目標(biāo)機處在引導(dǎo)階段向內(nèi)核傳遞命令行參數(shù)時,使用以下參數(shù):
console=ttySAC0 root=/dev/nfs nfsroot=59.70.245.216:/home/lizhao/rootfs,?flags=intr,rsize=1024,wsize=1024ip=59.70.245.222:59.70.245.216:59.70.245.216:255.255.255.0:leao:eth0:off???????????
參數(shù)解釋:?
intr -- 當(dāng)服務(wù)器宕機或者無法到達(dá)時,允許中斷NFS請求。?nolock--禁用文件鎖。?rsize = 8192 和 wsize=8192? -- 通過設(shè)定大的同時傳輸?shù)臄?shù)據(jù)塊大小(bytes),以提高NFS讀寫的速度。改變這些值時要當(dāng)心,一些舊的linux內(nèi)核和網(wǎng)卡在大的塊大小不能正常工作。
后來看到一個貼說了,在加載文件系統(tǒng)時,是不是進(jìn)行了系統(tǒng)的IP配置,進(jìn)而導(dǎo)致了這樣的錯誤(如下圖所示),檢測rcS文件后發(fā)現(xiàn)確實有配置。興奮之余,趕緊修改試試吧。
由于這是掛載linux(我這里使用的是ubuntu10.04版本)系統(tǒng)下共享的,所以文件的修改是在ubuntu中直接修改的。如下圖:
看上圖圈的部分,這里是加載了一個腳本文件,該文件與rcS相同文件夾下,ifconfig-eth0這個腳本文件就是對ip的配置。好來看看ifconfig-eth0這個腳本的內(nèi)容吧,如下圖:
這里面有一個if條件句,在這里if條件句是為真的,在/etc目錄下有這個文件,如下圖:
那么這里執(zhí)行的就是ifconfig-eth0這個腳本文件中source /etc/eth0-setting這部分,也就是下圖的方框部分,如果沒有這個文件的話執(zhí)行的就是if語句中else部分(即下圖中橢圓部分)了。
由此可知,IP的配置文件是eth0-setting這個文件了,打開看看,如下圖:
由于我的IP網(wǎng)關(guān)是172.168.1.1,那么這個IP配置就是不行的了,在u-boot時IP網(wǎng)關(guān)是172.168.1.1,但是在掛載文件系統(tǒng)時就被修改為上圖所示的IP了,而就因為此,IP就不再同一網(wǎng)段內(nèi)了,通信失敗,所以就出現(xiàn)了無應(yīng)答的錯誤了。修改這個文件如下圖所示,我的是下圖的IP,大家請修改成自己的網(wǎng)段IP。
修改后,保存重啟。以完全正常了。
對于其他的開發(fā)板,rcS腳本中可能不是加載ifconfig-eth0這個腳本去配置IP,就是沒有下面這句:
而是可能有下面這句去配置
那么,修改上圖所示的IP即可。
另附上我的u-boot的環(huán)境參數(shù)設(shè)置:
在附上設(shè)置的命令:
setenv bootcmd "tftp C0008000 zImage;bootm C0008000 40800000"
setenv bootargs noinitrd root=/dev/nfs console=ttySAC2 init=/linuxrc nfsroot=172.168.1.22:/nfsboot/210system_new/system ip=172.168.1.21:172.168.1.22:172.168.1.1:255.255.255.0::eth0:on
IP和文件系統(tǒng)的目錄修改為自己的即可。
溫馨提示:本文是針對RealARM210開發(fā)板,其他開發(fā)板身邊沒有,僅供大家參考。
在用這款開發(fā)板的,要是能解決問題,就頂頂,讓更多的人能夠搜索到,O(∩_∩)O~!
總結(jié)
以上是生活随笔為你收集整理的nfs:server 172.168.1.22 not responding,still trying问题解决方法 平台为RealARM 210平台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: realARM s5pv210开发板w
- 下一篇: IAR FOR ARM 各版本,需要的大