记录一下,留着以后用。这里是以龙芯3210为例,其他开发板可以参考。
工作环境: ubuntu-10.04(虚拟机7.13)
目标平台:龙芯3210开发板
开发包内核源码目录:/home/linux_3210
开发包内核版本:2.6.18.1
交叉编译工具:gcc-3.4.6
目的:在嵌入式的交叉编译环境中,建立NFS服务,是一种非常快捷有效的嵌入式的开发调试方式。
步骤如下:
一:首先要保证网络 目标板(SOC3210) 与虚拟机 ubuntu 可以相互 ping 通 。
(此步骤很重要,关乎到整个服务的实现)
1) 首先虚拟机 ubuntu设置为静态IP ,自己电脑的Windows也设置为静态IP
2)目标板S0C3210上的linux系统也要设置为静态IP ,以上三个系统IP最好在同一网段
3)为了目标板能够与虚拟机ping通,Windows上的无线网络要断开,因为虚拟机上的ubuntu系统网络连
接无区分地显示有线网络连接与无线网络连接,所以不确定虚拟机上的ubuntu是用有线网络,还是
无线网络, 如果断开无线网络,那么其就只能用有线网络了
4)相互ping通,就代表网络基本通信没问题。
二:搭建NFS 服务端server(虚拟机ubuntu)的 NFS功能
在终端上以此输入以下命令:
sudo apt-get install portmap
sudo apt-get install nfs-kernel-server
sudo vi /etc/exports
在文件的最后一行添加:
/mnt/nfs *(rw,sync,no_root_squash)
/mnt/nfs是Ubuntu根目录下的一个文件夹
# * 表示任何IP都可以共享,如果你想限定个别IP,用IP替代
#no_root_squash不太安全,可以改为root_squash,这里是特殊应用
保存并退出
启动NFS服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
配置NFS工作完成
测试NFS
sudo mount (-t nfs -o nolock)192.168.1.143:/mnt/nfs /tmp
#确认你的nfs client机器上安装有nfs-utils包
#如果没有 sudo apt-get install nfs-common
#192.168.1.143是我Ubuntu的IP地址
如果/mnt/nfs 中文件信息能够在/tmp 中出现,则表示NFS设置成功
sudo umount /tmp 卸载文件
三:搭建NFS 客户端clinet(SOC3210的linux)的 NFS功能
在您工作的目标机端也需要配置nfs功能,步骤如下:
(1)编译3210板子内核,主要添加nfs功能
networking-->networking option-->tcp/ip networking-->ip:kernel level autoconfiguration
选上 -> ip:kernel level autoconfiguration
->ip:dhcp support
-> ip:bootp support
-> ip:rarp support
File systems->Network File Systems->NFS file system support
选上 ->Provide NFSv3 client support
->Provide client support for....
->Provide NFSv4 client support...
->Root file system on NFS
编译内核 下载到3210板上的/dev/mtd0 分区.
四: 在 busybox 上的编译也要添加支持 NFS 功能的指令
1) networking Utilities ---> ifconfig
-->tftp
2) Linux system Utilites --->mount
-->support mounting NFS file systems
测试命令:
mount -t nfs -o nolock 192.168.1.143:/mnt/nfs /tmp
到目标板的系统/tmp 目录下查看是否有宿主机系统/mnt/nfs 的内容,有,则表示NFS服务配置成功。
要想支持完全的nfs文件系统soc3210 pmon这样设置
set append 'root=/dev/nfs rw nfsroot=192.168.1.100:/mnt/nfs noinitrd init=/linuxrc console=ttyS0,115200 ip=192.168.1.90:::::eth0:off'
这样就成功配置了网络文件系统。
good luck!!