NFS掛載檔案系統,常遇見問題

2021-05-24 05:02:27 字數 2179 閱讀 5860

一.

nfs服務掛接根檔案系統

(1)什麼是根檔案系統?

與windows的c盤類似,linux一樣要在乙個分割槽上存放系統啟動所必需的檔案,比如核心映象檔案(在嵌入式系統中,核心一般單獨存放在乙個分割槽中)

、核心啟動後執行的第乙個程式(

init

)、給使用者提供操作介面的

shell

程式、應用程式所依賴的庫等。這些系統啟動的必需、基本的檔案合稱根檔案系統,他們存放在乙個分割槽中。

linux

系統啟動後首先掛接這個分割槽,稱為掛接根檔案系統。 (

2)利用

nfs掛接根檔案系統來啟動系統的必需準備的幾個條件: a.

按照u-boot

的使用說明燒寫新核心 b.

在linux

主機上啟動

nfs服務

/etc/init.d/nfsstart c.

在u-boot

控制介面修改命令列引數

set bootargs noinitrd root=/dev/nfs console=ttysac0 nfsroot=10.0.3.244:/long_nfs/myfs-1 ip=10.0.3.245:10.0.3.244:10.0.3.1:255.0.0.0::eth0:off

root=/dev/nfs

這個只是告訴核心用的是

nfs裝置

console=ttysac0

這個是控制台

nfsroot=10.0.3.244:/long_nfs/myfs-1

這個是根檔案系統在主機上的路徑和主機的ip

ip=10.0.3.245:10.0.3.244:10.0.3.1:255.0.0.0::eth0:off

ip=::::::

這個格式可以去核心文件:/documentation/nfsroot.txt中檢視

在虛擬機器中修改閘道器:

route add default gw 10.0.3.1,

一般ip

是10.0.3.244

,預設的閘道器就是

10.0.3.1 d.

直接啟動系統就可以了

二.nfs服務掛接共享檔案

(1)系統啟動以後在控制台掛接共享檔案,以下是具體步驟和可能出的問題

a. 確保linux主機上已經啟動了nfs服務

b. 確保主機和目標板用網線連線了

c.確保主機和目標板在同一網段,例如這樣,主機的ip:10.0.3.244,目標板的ip:10.0.3.245,他們的netmask:255.0.0.0

d.掛接命令:

mount -o nolock -t nfs 10.0.3.244:/long_nfs /tmp/

mount -o nolock 10.0.3.244:/long_nfs /tmp/

這兩個都可以。

(2)可能出現的錯誤型別

a. 錯誤型別:

rpcbind: server localhost not responding, timed out

rpc: failed to contact local rpcbind server (errno 5).

lockd_up: makesock failed, error=-5

rpcbind: server localhost not responding, timed out

rpc: failed to contact local rpcbind server (errno 5).

mount: mounting 10.0.3.244:/long_nfs on /tmp/ failed: input/output error

這個問題是因為掛接命令不對,要加上引數

-o nolock

就可以了

b. 錯誤型別:

cs89x0: tx buffer not free!

netdev watchdog: eth0: transmit timed out

eth0: transmit timed out, irq conflict ??

eth0: transmit underrun

這個問題是因為主機和目標板沒有用網線連線

bootargs設定nfs掛載檔案系統

root dev nfs nfsroot server ip root dir,nfs options ip client ip server ip gwip netmask hostname device autoconf dns0 ip dns1 ipserver ip 伺服器 ip 位址,也就...

利用NFS來掛載檔案系統問題總結

嵌入式開發,如果使用nfs掛載來啟動核心和檔案系統,這樣便於除錯檔案系統和驅動,則首先要保證ubuntu開啟nfs服務。執行以下命令安裝nfs服務,安裝後自動執行 sudo apt get install nfs kernel server 配置其配置檔案 sudo vi etc exports 在...

掛載檔案系統

將乙個檔案系統的頂層目錄掛到另乙個檔案系統的子目錄上,使它們成為乙個整體,稱為掛載。把該子目錄稱為掛載點。注意 1 掛載點必須是乙個目錄。2 乙個分割槽掛載在乙個已存在的目錄上,這個目錄可以不為空,但掛 載後這個目錄下以前的內容將不可用。對於其他作業系統建立的檔案系統的掛載也是這樣。但是需要理解的是...