嵌入式環境 掛載開發板根NFS檔案系統失敗

2021-09-08 11:30:29 字數 3630 閱讀 7595

掛載開發板根nfs檔案系統的時候,發現了下面的問題:

looking up port of rpc 100003/2 on 192.168.2.109

rpcbind: server 192.168.2.109 not responding, timed out

root-nfs: unable to get nfsd port number from server, using default

looking up port of rpc 100005/1 on 192.168.2.109

rpcbind: server 192.168.2.109 not responding, timed out

root-nfs: unable to get mountd port number from server, using default

------------------------------------------------------------------------------

出現這個問題,經過檢查,原來是linux server的防火牆沒有關。

1.  報這種錯,防火牆是原因之一。

但不一定就是這乙個原因,還有

2. 開發板的bootloader的 bootargs沒有設定正確導致找不到server 的nfs,一般格式如下:

set bootargs noinitrd root=/dev/nfs nfsroot=192.168.2.109:/home/fs/work/nfs_root/fs_qtopia ip=192.168.2.111:192.168.2.109:192.168.2.1:255.255.255.0::eth0:off init=/linuxrc console=ttysac0

3. 另外掛程式載nfs需要啟動nfs服務,並設定好nfs exports目錄,

/etc/init.d/nfsstart

[root@localhost fs]# vi /etc/exports

/home/fs/work/nfs_root/fs_mini_mdev *(rw,sync,no_root_squash,no_subtree_check)

/home/fs/work/nfs_root/fs_qtopia *(rw,sync,no_root_squash,no_subtree_check)

4. 不同開發板,不同核心,不同uboot的掛載命令不盡相同,不能盲目照搬。

我在使用s5pc100開發板的時候,nfs掛載錯誤如下:

usbhid: usb hid core driver

tcp cubic registered

net: registered protocol family

17looking up port of rpc

100003/2 on 192.168.2.109

rpcbind: server

192.168.2.109 not responding, timed out

root-nfs: unable to get nfsd port number from server, using

default

looking up port of rpc

100005/1 on 192.168.2.109

rpcbind: server

192.168.2.109 not responding, timed out

root-nfs: unable to get mountd port number from server, using

default

root-nfs: server returned error -101

while mounting /work/farsight/nfs_root/rootfs

vfs: unable to mount root fs via nfs, trying floppy.

vfs: cannot open root device

"nfs

" or unknown-block(2,0)

檢查我的bootargs設定,

bootargs=root=/dev/nfsnfsroot=192.168.2.109:/work/farsight/nfs_root/rootfs init=/linuxrc console=ttysac0

經過一番比對,發現應該是:

bootargs=root=nfsnfsroot=192.168.2.109:/work/farsight/nfs_root/rootfs ip=192.168.2.200 init=/linuxrc console=ttysac0

這一點不同於jz2440開發板。

nfs服務以及mount命令使用

1、在a機上啟動nfs和rpc服務

/etc/init.d/portmap start

/etc/init.d/nfs start

2、檢查nfs的執行級別:

chkconfig --list portmap

chkconfig --list nfs

3、根據需要設定在相應的執行級別自動啟動nfs:

chkconfig --level 235 portmap on

chkconfig --level 235 nfs on

--檢測nfs 的rpc 註冊狀態

rpcinfo -u 主機名或ip 位址 程序

[root@tmg133 data3]#-- rpcinfo -u 192.168.2.109 nfs

program 100003 version 2 ready and waiting

program 100003 version 3 ready and waiting

program 100003 version 4 ready and waiting

[root@tmg133 data3]# --rpcinfo -u 192.168.2.109 mount

program 100005 version 1 ready and waiting

program 100005 version 2 ready and waiting

program 100005 version 3 ready and waiting

--檢視共享目錄和引數設定 cat /var/lib/nfs/etab

用命令列方式關閉centos防火牆   

臨時性的完全關閉防火牆,可以不重啟機器:

#/etc/init.d/iptables status                ## 檢視防火牆狀態

#/etc/init.d/iptables stop                    ## 本次關閉防火牆

#/etc/init.d/iptables restart                ## 重啟防火牆

嵌入式開發板 嵌入式Linux開發板的選擇

很多電子軟體工程師使用stm32系列的微控制器入門,學習linux是技術公升級的最好選擇之一。很多小夥伴對linux的認知為只知道它是乙個開源作業系統,有乙個核心,僅此而已。但是掌握了linux技術之後卻能夠在技術領域大有一番作為。我們來看一下學習linux之後的一些出路 那麼在進行linux知識的...

嵌入式Linux開發使用NFS掛載根檔案系統

在嵌入式開發中使用nfs 掛在根檔案系統進行應用程式和驅動的除錯是必備技能,在程式除錯ok後可以從nfs檔案系統切換initramfs 基於記憶體 yaffs 基於nand flash jiffs 基於nor flash 等進行程式的批量燒寫。首先我們先配置pc端 ubuntu 1.安裝nfs 伺服...

nfs掛載到開發板

nfs掛載到開發板 一直沒有什麼寫技術文章的好習慣,哈哈,只是有的時候自己解決了一些問題自娛自樂,自顧自的得意一會,然後今天想把今天碰到的問題以及解決的過程寫出來,希望能給一些剛好碰到該問題的童鞋一些幫助。好了廢話不多說了,以前一直在看,現在自己也動手一會,哈哈 二 配置 etc exports檔案...