在这里,TQ2416系列----开发板与虚拟机之间搭建NFS

TQ2416  开发板与虚拟机之间搭建NFS

在实际的开发中,当我们在开发板上搭建好ARM+LINUX的开发环境(uboot,linux内核,文件系统都裁剪幷移植到开发板上),专注于应用程序的开发的时候,我们要做的事情是:在虚拟机上,利用交叉编译把我们的应用程序编译好,然后移植到开发板跑起来。本文主要介绍一下利用NFS将虚拟机上交叉编译好的应用程序下载到开发板上的方法

搭建的整体思路

#1、在虚拟机上安装nfs软件,将其配置好,并在虚拟机上测试NFS的功能,确保NFS安装配置OK。

#2、在开发板的调试终端上用mount命令挂载NFS

#3、用cp命令将虚拟机的上编译好的应用程序copy到开发板的路径里

搭建步骤

声明:

#1、本文的操作环境VMwarePlayer+Ubuntu 12.04LTS

#2、本文中linux指令描述为:@cp表示为在虚拟机的终端里输入cp指令

1在虚拟机上安装NFS

1.1安装NFS

@sudo apt-get install nfs-kernel-server

1.2配置NFS共享参数

@vi/etc/exports

然后编辑NFS服务的配置文件,在exports里面添加一句话:/opt/EmbedSky/root_nfs  *(rw,sync,no_root_squash)

具体含义为:

---->/opt/EmbedSky/root_nfs:NFS共享目录

---->*:所有的客户机都可以挂载此目录

---->rw:挂载此目录的客户机对此目录的操作权限为:rw(读写)

---->sync:所有数据在请求时写入共享

---->no_root_squash:允许挂载此目录的客户机享有该主机的root身份

1.3设置NFS共享目录属性

     对于1.2中的共享的目录需要使能他的操作属性,以便于写入读取

        @sudo chmod777 /opt/EmbedSky/root_nfs

1.4重启NFS

@sudo/etc/init.d/nfs-kernel-server restart

     NFS重启ok的画面


2开发板上挂载NFS

        192.168.1.101为主机IP。

       挂载命令:

       @mount-t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.101:/nfs目录 /挂载路径

如果采用普通的挂载命令:@mount-t nfs -o nolock,192.168.1.101:/主机nfs目录 /挂载路径。当从主机上拷贝的文件比较大时,在开发板的调试终端上会出现:nfs:serveris not responding,still trying。

原因:传送的数据太大,出现数据包丢失现象。NFS的默认传输协议是UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象,可用的解决方案是:在客户端改用TCP协议,使用下面的命令,

@mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.101:/主机nfs目录 /挂载路径

3文件复制

       在开发板的挂载路径下,就可以看到NFS共享的文件,可以采用cp命令进行文件的copy


       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章