NFS掛載嵌入式Linux根文件系統

   之前轉載過一篇《nfs掛載android根文件系統》,但是自己一直都沒做成功過,之前因爲掛載普通嵌入式Linux根文件系統總是在內核剛啓動時,開發板就不向串口打印信息了,而是直接打印到開發板lcd屏上,我想這肯定是uboot的啓動參數沒有設置正確。但是由於找工作的原因一直都沒有去解決。

    今天由於必須用nfs掛載android根文件系統,又重新回到這樣一個問題中來,沒有設置正確的uboot啓動參數,經過多次嘗試,終於能讓開發板向串口打印信息了。具體設置的uboot的啓動參數如下:

>setenv ipaddr 192.168.3.189

>setenv getway 192.168.3.254

>setenv serverip 192.168.3.201

>setenv bootargs root=/dev/nfs rw nfsroot=192.168.3.201:/home/yww/nfs,proto=tcp,nfsvers=3,nolock ip=192.168.3.189:192.168.3.201:192.168.3.254:255.255.255.0:YWW:eth0:off console=ttySAC0,115200 init=/linuxrc

需要說明一點的是,在啓動參數中,設置了nfsroot=192.168.3.201:/home/yww/nfs,proto=tcp,nfsvers=3,nolock ,後面這三個參數是在出現了

可以在宿主機上用ping命令ping一下開發板ip,此時終於能夠ping通了~~哈哈~~成功不遠了~~

     雖然能夠向串口打印信息,這樣一來,就能看到了到底有沒有成功掛載,能夠看到出現什麼問題了,不出所料啊~~新問題就出來了:

 

可以看到出現的新問題:

Root-NFS: Unable to get mountd port number from server, using default

Root-NFS: Server returned error -5 while mounting /home/yww/nfs

我們在主機上ping 192.168.3.189

64 bytes from 192.168.3.189: icmp_seq=99 ttl=64 time=1.02 ms
64 bytes from 192.168.3.189: icmp_seq=100 ttl=64 time=1.34 ms
64 bytes from 192.168.3.189: icmp_seq=101 ttl=64 time=0.993 ms

--- 192.168.3.189 ping statistics ---
101 packets transmitted, 101 received, 0% packet loss, time 100011ms
rtt min/avg/max/mdev = 0.777/1.187/6.680/0.894 ms
看上去好像沒有丟包啊~~可是爲什麼掛載不了呢~~~?????

還不是很清楚啊~~會不會是我將我的開發板與主機之間用路由器相連的緣故,明天拿交叉網線直接將開發板與主機連上試試看~~相信會成功的~~哈哈~~大家等等哦~~呵呵~~

 

nfs: server 192.168.3.201 not responding, still trying問題之後加上去的。問題的原因是nfs默認使用的UDP協議,這協議丟包比較嚴重,所以用上述三個參數將nfs設置爲:tcp協議。

發佈了56 篇原創文章 · 獲贊 19 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章