安装好交叉编译环境arm-linux-gcc之后,就开始配置NFS网络共享,用于不同的linux主机与目标机之间文件的共享。如果是windows和linux的共享则需用samba服务。
NFS(Network File System, 网络文件系统)可以通过网络将分享不同主机(不同的OS)的目录——可以通过NFS挂载远程主机的目录, 访问该目录就像访问本地目录一样!
1、进行NFS服务器端与客户端的安装:
$ sudo apt-get install nfs-kernel-server
这里安装nfs_kernel-server时,安装的就比较全了,只装它就可以
2、配置portmap
两种方法任选一种就可以:
(1):$ sudo gedit /etc/default/portmap
默认不用改 那个127.0.0.1已经注释掉了。
或
(2):$ sudo dpkg-reconfigure portmap
选择“NO”
3、配置挂载目录和权限
$ sudo gedit /etc/exports
我的配置如下:即在/etc/exports文件的末尾空白处加上一下代码:
/home/share *(rw,sync,no_root_squash)
/home/share是NFS服务器的共享目录,share 如果没有的话可以新建。*表示任何IP都可以共享这个目录,可以改为受限IP,rw表示是读写权限,sync是默认的,no_root_squash 表示如果你是root的话,对分享目录还具有root权限,如果为root_squash的话,会被限制为匿名用名,uid/gid会变成nobody的权限。
$ man exports 查看详细
:q 退出查看
4、更新exports文件
如果更改了/etc/exports, 你可以通过
$ sudo exportfs -r
来更新 这个文件
5、重启NFS服务
$ sudo /etc/init.d/nfs-kernel-server restart
重启nfs服务
6、测试
挂载本地磁盘(linux系统IP为192.168.2.104,将/home/share挂载到/mnt) ,可以用ifconfig查看本机IP地址。
$ sudo mount 192.168.2.104:/home/share /mnt
用
$ df
然后进入文件夹mnt查看结果,可以在mnt文件夹看到share目录中的东西
$ cd /mnt
取消挂载
$ umount /mnt
7.如何实现目标机对共享文件的访问?
至此,可以在自己的机子上测试一下nfs服务了,具体过程如下:
$ mount serverip:/arm9test /mnt
其中serverip实际上就是服务器的ip,千万不要少了serverip后面的那个“:”哦,会出错的
如果挂载成功的话进到/mnt是可以看到/arm9test下面的文件的,如果出错的话就要查找一下原因了,最好去鸟哥私房菜那里看一下,因为上面讲得很清楚。
在自己电脑上测试通过以后就要把宿主机的共享目录挂载到目标板上了,这样调试程序非常方便,不用把程序传过去就可以直接调试了。挂载过程如下:
首先开机启动2410,进入linux,进入shell,配置板子的ip地址,
$ ifconfig eth0 ipaddr
ipaddr就是上面所设置的允许访问共享目录的ip,在这里可以设为127.0.0.2,然后执行命令:
$ mount serverip:/arm9test /mnt/ext1
把serverip改为你自己的主机的ip就可以了,这个时候要确认你的主机的nfs服务已经启动,并且网线已经连接好,正常情况下等一下就可以完成挂载了。