1、IP地址设置

       设置主机、虚拟机以及开发板静态IP(不能使用自动获取IP),确保3个静态IP地址处于同一网段(192.168.1.*),如:

       主机:192.168.1.10  默认网关:192.168.1.1 首选DNS:202.96.128.86

       虚拟机:192.168.1.100

       开发板:192.168.1.207

2、虚拟机连接方式设置

       在虚拟机VMware里面:选择 edit(编辑) -> Vitual Network Editor(虚拟网络编辑器) ,选中VMnet0,在下面的VMnet Information中,点Bridge to(桥接到):选择自己的有线网卡(有线网卡可通过以太网属性查看,非无线网卡),然后选择虚拟机VMware右下角的网络设配器,进入虚拟机设置,选择连接方式:Custom VMnet0(Bridged),完成保存。

3、开发板网络设置

        开发板上的网络设置问题,开发板IP设置为如上192.168.1.207,其余的在不联网的情况没有影响。如果你是用uboot的话,除了开发板的IP设置,服务器也要设置为要直连对象的IP。也就是说,如果是虚拟机与开发板直连的话,那uboot的serverip要设置为虚拟机的IP,即192.168.1.108,若是开发板与主机相连的话,则serverip要设置为主机的ip,即192.168.1.10。
4、关掉各系统的防火墙。

主机Ping通虚拟机

开发板Ping通虚拟机

 

 

 

 

 

 

 

一般在Linux主机上arm-linux-gcc编译程序,然后将该生成的可执行文件发送给ARM开发板,ARM开发板再运行该文件。

(主机Linux系统)--->(ARM开发板Linux系统)  传送文件的过程可以采用NFS,FTP等多种方法

采用NFS实现远程挂载,ARM开发板可以直接运行主机上的程序,而不需要下载到开发板上,也是用的最多的方法

 

1,ARM开发板上电,启动Linux

2,查看开发板Linux内核是否支持NFS

执行 cat /proc/filesystem

若有一行为 nodev nfs,则开发板Linux内核支持NFS,反之需要配置内核

同样方法查看Linux主机内核是否支持NFS

3,配置主机共享目录

执行 gedit /etc/exports更改主机NFS配置

在最后一行添加 /nfs_root *(rw,sync,no_root_squash)表示将主机 /nfs_root设置为共享目录,所有Linux系统都可以挂载该目录

若添加 /nfs_root 192.168.1.100(rw,sync,no_root_squash)表示只有IP为192.168.1.100的Linux系统能挂载该目录

4,主机启动NFS服务

或者 sudo service nfs-kernel-server restart

5,ARM开发板挂载主机共享目录

开发板上执行 mount 192.168.1.139:/nfs_root /mnt

     mount -o nolock -t nfs192.168.1.139:/nfs_root /mnt

其中,192.168.1.139是主机IP,/nfs_root是主机共享目录,/mnt表示将该共享目录挂载到ARM开发板/mnt目录下

6,若未报错,则挂载成功

开发板上执行 ls /mnt

可以看到ARM开发板/mnt下的内容与主机/nfs_root下内容一致

7,若报错

rpcbind: server localhost not responding, timed out
RPC: failed to contact local rpcbind server (errno 5).
rpcbind: server localhost not responding, timed out
RPC: failed to contact local rpcbind server (errno 5).
lockd_up: makesock failed, error=-5
rpcbind: server localhost not responding, timed out
RPC: failed to contact local rpcbind server (errno 5).可能是主机防火墙或者文件锁的原因。
开发板上执行  mount -o nolock -t nfs192.168.1.139:/nfs_root /mnt
重新挂载,成功。
8,若仍未成功,可根据报错信息查看http://wenku.baidu.com/link?url=Ze35J5DwpLbZZKU59t4xDiHKrY4TRLLzsOrYp3jTJN1u3mXv10i99JP7FRVPSrECnLQiuQ2lFBRgB7Bo_2ld4vnhoohgrrqvTtDd-R0XOO7
 
NFS mount failed, reason given by server: Permission denied

1. 查看系统有没有nfs功能

cat /proc/filesystes 
2. ntsysv 命令选中nfs 
service nfs restart,看能否啟动,如不能正常,可以查看相应的出错信息 
tali /var/log/messages 
3. 配置/etc/exports 
eg: /home/mis    *(rw) 
此文件是配置相关的文件和一些权限,上面的设置表示,所有的用户对/home/mis都有读写的权限 
 
 # /etc/exports: the access control list for filesystems which may be exported
  2 #       to NFS clients.  See exports(5).
  3 #
  4 # Example for NFSv2 and NFSv3:
  5 # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
  6 #
  7 # Example for NFSv4:
  8 # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
  9 # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
 10 #
 11 
 12 
 13 /home/ls/nfs *(rw,sync,no_root_squash)
 14 /mnt *(rw,sync,no_root_squash)
 15 /opt *(rw,sync,no_root_squash)
此文件是配置相关的文件和一些权限,上面的设置表示,所有的用户对/home/mis都有读写的权限 
 17 /home/slq/nfs *(rw,sync,no_root_squash)
 18 /slq/nfs *(rw,sync,no_root_squash)
 
 
4. 执行sudo exportfs -a 表示将所有的更新. 
5. sudo service nfs restart 
这两条命令注意root权限
6. 执行mount命令 
eg: mount 10.0.1.153:/home/mis  /mnt/mis 
 
mount -t nfs -o nolock 192.168.0.233:/home/ls/nfs /mnt/ls
 
 
mount -t nfs -o nolock 192.168.0.233:/home/slq/nfs /mnt/slq
 
 
mount -t nfs -o nolock 192.168.0.233:/slq/nfs /mnt/slq