過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