在烧写了 u-boot之后,为了减少烧写根文件系统、调试程序之痛苦,本文档介绍如
来访问/home/lisongqing/ARM/rootfs 目录,/home/lisongqing/ARM/rootfs 也称为服务器
输出共享目录)。
需一並啟動。
过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