现在的位置: 首页 > 综合 > 正文

ubuntu(virtualbox)上和mini6410之间通过NFS共享目录的问题(含虚拟机网卡配置)

2013年12月09日 ⁄ 综合 ⁄ 共 1998字 ⁄ 字号 评论关闭

由于要在mini6410上做开发,通过NFS设置共享目录会很方便,所以尝试去做。

背景数据

主机:

操作系统:win7    IP:192.168.101.25 (当日分配的动态IP)

主机上的virtualbox虚拟机:

操作系统:ubuntu10.04    IP:(前后做了改动,见后文)

mini6410(ARM开发板):

操作系统:linux-2.6.38    IP:192.168.101.230

安装NFS组件、设置共享目录、启动NFS、测试、挂载目录过程按搜到的博客(leo115的专栏)操作:

http://blog.csdn.net/leo115/article/details/7340682

用telnet登录mini6410后,测试与主机的连接:

# ping 192.168.101.25    失败!

在主机和虚拟机上:

$ ping 192.168.101.230    均成功。

纠结了一阵子,有人说是win7的防火墙问题,网上搜一下如何更改:http://www.cnblogs.com/acmy/archive/2012/03/01/2375695.html

文件和打印机共享(回显请求 - ICMPv4-In) 的公用、专用规则均改为“是”。

用telnet登录mini6410后,测试与主机的连接:

# ping 192.168.101.25    成功。

但是还是不能正常挂载,在虚拟机上运行ifconfig,发现用NAT模式配置的网卡,和主机和ARM均不在同一网段。推断虚拟机内做了地址映射。

在网上搜如何解决,有两个不错的解释和设置方法:

VirtualBox虚拟机网络设置(四种方式):http://www.douban.com/group/topic/15558388/

VirtualBox实现内外网络互访问的配置:http://www.2cto.com/os/201205/133370.html

才知NAT模式外部不能访问虚拟机,建议设置一块桥接虚拟网卡

关闭虚拟机,建立桥接网卡,选一个MAC地址,打开虚拟机。

再运行ifconfig,得到桥接网卡分配的IP地址192.168.101.47。

用telnet登录mini6410后,测试与虚拟机上桥接网卡的连接:

# ping 192.168.101.47    成功。

重新挂载:

我在mini6410上的挂接命令:

# mount -t nfs -o nolock 192.168.101.47:/home/yaoyao/Downloads /home/plg

(附上取消挂接命令: # umount /home/plg)

可以正常地共享文件了。

第二天

重启机器,发现桥接网卡的ip地址经过动态分配,和昨天不一样了。

决心设置桥接网卡静态ip的好,搜解决办法,发现一个:

http://blog.csdn.net/gudaoqianfu/article/details/7335077

在/etc/network/interfaces 后追加:

auto eth1
iface eth1 inet static
address 192.168.101.47
gateway 192.168.101.1
netmask 255.255.255.0
network 192.168.101.0
broadcast 192.168.101.255

重启网卡:$ sudo /etc/init.d/networking restart

$ ifconfig 后,ip确实更改。用win7上网,所以DNS没设。

想让mini6410每次重启后时自动挂接
在/etc/init.d/rcS 后追加:

mount -t nfs -o nolock 192.168.101.47:/home/yaoyao/Downloads /home/plg
echo "mount nfs to ubuntu               "

重启可见确实有效。

备注(写于上述工作很久之后)

1. mount 命令最好添加 -o nolock 选项,为了避免使用文件锁。

参照:http://blog.csdn.net/alex_xhl/article/details/7222602

2. 有些特别的ARM内核不支持NFS(比如我用过的一个TI的摄像头开发板TMS320DM368,天睿视迅公司在上面开发后提供),需要特别注意。

在不支持NFS的内核上运行mount 命令会提示 No such device 错误。

看一下 /proc/filesystems 文件,如果列表里没有 "nodev   nfs" 就说明不支持NFS。如果需要可以重新编译烧写支持NFS 的内核。

参照:http://www.friendlyarm.net/forum/topic/3701 (查 /proc/filesystems 文件)

http://hi.baidu.com/xiaoyue1800/item/98e550309a442581f5e4adf5 (简单介绍重新编译烧写ARM Linux内核,没有细看)

抱歉!评论已关闭.