在一般的嵌入式系統(tǒng)開發(fā)中經(jīng)常需要燒寫內(nèi)核文件和文件系統(tǒng)映像,為了保護和節(jié)省片子的燒寫次數(shù),為了方便我們開發(fā)的過程節(jié)省浪費在燒寫上的時間,更 多的是方便我們的開發(fā)不至于把系統(tǒng)上的文件搞的亂七八糟… 其實,其實當(dāng)我們的內(nèi)核變大,板子Flash無法容納內(nèi)核和文件系統(tǒng)的時候,NFSROOT是 個好的解決方案。 因此想試試使用NFS ROOT: 一、內(nèi)核配置:
添加內(nèi)核對NFS的支持: n Networking Options (*)TCP/IP networking (*)IP: kernel level autoconfiguration (*)IP: DHCP support (*)IP: Bootp support (*)IP: Rarp support
n File systems l Network File Systems (*)NFS file system support (*)Root file system on NFS t 二、TFTP服務(wù)器的配置 以root用戶登錄,運行setup命令 #setup 選擇Systme services,選擇tftp; 打開tftp配置文件/etc/xinetd.d/tftp; 將server_args設(shè)定為內(nèi)核映像文件所在目錄,默認(rèn)為/tftpboot 我的內(nèi)核映像在/home/zht/sources/kernel/linux-2.4.27目錄中,設(shè)定如下: service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/zht/sources/kernel/linux-2.4.27 per_source = 11 cps = 100 2 flags = IPv4 } 重新啟動PC linux操作系統(tǒng)或者運行service xinetd restart命令啟動tftp服務(wù)器。 運行netstat -a | grep tftp 可以查看tftp服務(wù)器是否配置成功。
三、NFS服務(wù)器的配置 以root身份登陸Linux服務(wù)器,編輯/etc目錄下的共享目錄配置文件exports,指定共享目錄及權(quán)限等。 執(zhí)行如下命令編輯文件/etc/exports: # vi /etc/exports 在該文件里添加如下內(nèi)容: /home/zht/rfsys 192.168.0.*(rw,sync,no_root_squash) 編輯完過后保存退出,然后運行命令exports –rav檢查輸入是否正確。 添加的內(nèi)容表示:允許ip地址范圍在192.168.0.*的計算機以讀寫的權(quán)限來訪問/home/zht/rfsys目錄。/home/work也稱為服務(wù)器輸出共享目錄。 括號內(nèi)的參數(shù)意義描述如下: rw:讀/寫權(quán)限,只讀權(quán)限的參數(shù)為ro; sync:數(shù)據(jù)同步寫入內(nèi)存和硬盤,也可以使用async,此時數(shù)據(jù)會先暫存于內(nèi)存中,而不立即寫入硬盤。 no_root_squash:NFS服務(wù)器共享目錄用戶的屬性,如果用戶是 root,那么對于這個共享目錄來說就具有 root 的權(quán)限。 接著執(zhí)行如下命令,啟動端口映射: # /etc/rc.d/init.d/portmap start 最后執(zhí)行如下命令啟動NFS服務(wù),此時NFS會激活守護進程,然后就開始監(jiān)聽 Client 端的請求: # /etc/rc.d/init.d/nfs start 在 NFS服務(wù)器啟動后,還需要檢查Linux服務(wù)器的防火墻等設(shè)置(一般需要關(guān)閉防火墻服務(wù),執(zhí)行iptables -F),確保沒有屏蔽掉NFS使用的端口和允許通信的主機,主要是檢查Linux服務(wù)器iptables,ipchains等選項的設(shè)置,以及/etc /hosts.deny,/etc/hosts.allow文件。 我們首先在Linux服務(wù)器上進行NFS服務(wù)器的回環(huán)測試,驗證共享目錄是否能夠被訪問。在Linux服務(wù)器上運行如下命令: # mount –t nfs 192.168.0.20: /home/zht/rfsys /mnt # ls /mnt 命令將Linux服務(wù)器的NFS輸出共享目錄掛載到/mnt目錄下,因此,如果NFS正常工作,應(yīng)該能夠在/mnt目錄看到/home/work共享目錄中的內(nèi)容。 |
|
來自: rookie > 《技術(shù)帖》