|
在一般的嵌入式系統(tǒng)開發(fā)中經(jīng)常需要燒寫內(nèi)核文件和文件系統(tǒng)映像,為了保護(hù)和節(jié)省片子的燒寫次數(shù),為了方便我們開發(fā)的過程節(jié)省浪費(fèi)在燒寫上的時(shí)間,更 多的是方便我們的開發(fā)不至于把系統(tǒng)上的文件搞的亂七八糟… 其實(shí),其實(shí)當(dāng)我們的內(nèi)核變大,板子Flash無法容納內(nèi)核和文件系統(tǒng)的時(shí)候,NFSROOT是 個(gè)好的解決方案。 因此想試試使用NFS ROOT: 一、內(nèi)核配置:
添加內(nèi)核對(duì)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用戶登錄,運(yùn)行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 } 重新啟動(dòng)PC linux操作系統(tǒng)或者運(yùn)行service xinetd restart命令啟動(dòng)tftp服務(wù)器。 運(yùn)行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) 編輯完過后保存退出,然后運(yùn)行命令exports –rav檢查輸入是否正確。 添加的內(nèi)容表示:允許ip地址范圍在192.168.0.*的計(jì)算機(jī)以讀寫的權(quán)限來訪問/home/zht/rfsys目錄。/home/work也稱為服務(wù)器輸出共享目錄。 括號(hào)內(nèi)的參數(shù)意義描述如下: rw:讀/寫權(quán)限,只讀權(quán)限的參數(shù)為ro; sync:數(shù)據(jù)同步寫入內(nèi)存和硬盤,也可以使用async,此時(shí)數(shù)據(jù)會(huì)先暫存于內(nèi)存中,而不立即寫入硬盤。 no_root_squash:NFS服務(wù)器共享目錄用戶的屬性,如果用戶是 root,那么對(duì)于這個(gè)共享目錄來說就具有 root 的權(quán)限。 接著執(zhí)行如下命令,啟動(dòng)端口映射: # /etc/rc.d/init.d/portmap start 最后執(zhí)行如下命令啟動(dòng)NFS服務(wù),此時(shí)NFS會(huì)激活守護(hù)進(jìn)程,然后就開始監(jiān)聽 Client 端的請(qǐng)求: # /etc/rc.d/init.d/nfs start 在 NFS服務(wù)器啟動(dòng)后,還需要檢查L(zhǎng)inux服務(wù)器的防火墻等設(shè)置(一般需要關(guān)閉防火墻服務(wù),執(zhí)行iptables -F),確保沒有屏蔽掉NFS使用的端口和允許通信的主機(jī),主要是檢查L(zhǎng)inux服務(wù)器iptables,ipchains等選項(xiàng)的設(shè)置,以及/etc /hosts.deny,/etc/hosts.allow文件。 我們首先在Linux服務(wù)器上進(jìn)行NFS服務(wù)器的回環(huán)測(cè)試,驗(yàn)證共享目錄是否能夠被訪問。在Linux服務(wù)器上運(yùn)行如下命令: # 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)容。 |
|
|