開發板設置NFS掛載文件系統

在燒寫了 u-boot之後,爲了減少燒寫根文件系統、調試程序之痛苦,本文檔介紹如

過tftp 下載內核,nfs服務掛接根文件系統啓動系統,不用每次都燒到開發板上。

一、NFS服務掛載根文件系統
1、Linux 服務器端 NFS服務器的配置
以root 身份登陸Linux 服務器,編輯/etc 目錄下的共享目錄配置文件exports,指
定共享目錄及權限等。執行如下命令編輯文件/etc/exports:

#sudo apt-get install nfs-kernel-server
#vi /etc/exports
在該文件裏添加如下內容:

/home/lisongqing/ARM/rootfs 192.168.0.*(rw,sync,no_root_squash)
然後保存退出(添加的內容意思是:允許 ip地址範圍在192.168.0.*的計算機以讀寫的權限
來訪問/home/lisongqing/ARM/rootfs 目錄,/home/lisongqing/ARM/rootfs 也稱爲服務器
輸出共享目錄)。

括號內的參數意義描述如下:
1)rw:讀/寫權限,只讀權限的參數爲ro;
2)sync:數據同步寫入內存和硬盤,也可以使用 async,此時數據會先暫存於內存中,而
不立即寫入硬盤;
3)no_root_squash:NFS 服務器共享目錄用戶的屬性,如果用戶是非 root,那麼對於這個
共享目錄來說就具有root的權限;


如果用戶想修改/etc/exports以修改後或添加其它共享目錄,可執行命令

1)#sudo exportfs -rv使/etc/exports文件生效
2)接着執行如下命令,啓動端口映射:

#/etc/init.d/portmap start(或:#sudo service portmap start)
3)最後啓動 NFS 服務,此時NFS會激活守護進程,然後就開始監聽 Client端的請求:

#/etc/init.d/nfs-kernel-server restart(或:#sudo service nfs-kernel-server restart)
Linux 服務器端NFS 服務器的配置到此就已經配置好了。


二、配置開發板運行的linux支持nfs啓動(linux3.1測試)

1.設置make menuconfig

Boot options  ---> 
  (noinitrd root=/dev/nfs nfsroot=x.x.x.x:/path_to_nfs_rootfs 
ip=y.y.y.y:z.z.z.z:g.g.g.g:m.m.m.m console=ttyS0,115200n8 rdinit=/sbin/init mem=64M) Default kernel command string 
其中,x.x.x.x和z.z.z.z均代表NFS伺服器的ip位置,y.y.y.y代表本機的ip位置,g.g.g.g代表gateway的ip位置,m.m.m.m代表netmask的ip位置。 除了設置boot options之後,還需要啟動網路功能 (如下),另外以下功能也
需一並啟動。 
[*] Networking support  ---> 
           Networking options  ---> 
                     [*]   IP: kernel level autoconfiguration 
設置啓動NFS功能:

File systems  ---> 
   [*] Network File Systems  ---> 
   <*>   NFS client support 
   [*]   Root file system on NFS 
網絡功能設置 :

*TCP/IP 設置 
要使能基本的網絡功能, 請依照以下設置即可. 

[*] Networking support  ---> 
  Networking options  ---> 
    <*> Packet socket 
    <*> Unix domain sockets 
    [*] TCP/IP networking 
    [*]   IP: multicasting 









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