vmware linux nfs,虚拟机下同时实现上网与Linux nfs根文件系统

虚拟机下同时实现上网与linux nfs根文件系统

唐立军2008-12-12

适用场合:在XP下安装了vmware虚拟机进行linux开发,为了方便开发,避免反复压缩文件系统以及下载到开发板上,我们使用放在虚拟机上的nfs文件系统作为开发板的启动根文件系统。但是同时又带来了另外一个问题就是主机只有一张网卡,当我们需要上网时必须把上网的网线连接在网卡上,导致的问题是开发板就不能通过网络访问nfs文件系统,同样的我们的开发板的网线与网卡相连时主机就不能上网,当然,如果你要是觉得不断的插拔网线是一件非常快乐的事情,那么下面的内容你可以不用再看了。

硬件条件:两张网卡(主板集成+独立网卡)+交叉网线一根

软件条件:XP+Vmware 6.5+ubuntu8.04

硬件安装:安装好网卡,插好网线(另一端插在开发板的网线接口上),重新启动电脑。

软件设置:

A、设置刚刚装好的网卡的IP地址、子网掩码。本例中IP设为192.168.1.2,子网掩码为:255.255.255.0。此网卡与开发板相连。

B、设置虚拟机中的硬件设备,添加一张网卡,连接方式设为桥接(用于支持nfs文件系统)。原来那张网卡的连接方式是NAT(用于与主机共享IP上网)。

C、设置linux的IP地址为:192.168.1.1(与A中在同一个网段),子网掩码:255.255.255.0.

D、此时我们用ping命令ping 192.168.1.2是ping不通的。

E、设置虚拟机中两张虚拟网卡与实际网卡的对应关系。依次打开程序àVmwareàVirture Network Editiong,切换到选项卡,设置与开发板先连的网卡为交接方式。如下图所示:

081214154825.jpg

注:上图中只需要对VMnet0选项中设置为开发板所对应的网卡即可。

F、配置linux的nfs服务,参考大聪的文档,在此也将其贴出。

1、进行NFS服务器端与客户端的安装:

apt-get install nfs-kernel-servernfs-commonportmap

安装客户端的作用是可以在本机进行NFS服务的测试。

2、配置portmap

两种方法任选一种就可以:

(1):emacs /etc/default/portmap

去掉-i 127.0.0.1

(2)dpkg-reconfigure portmap (推荐)

运行后选择“否”

3、配置挂载目录和权限

emacs /etc/exports

我的配置如下:

# /etc/exports: the access control list for filesystems which may be exported

#to NFS clients.See exports(5).

#

# Example for NFSv2 and NFSv3:

# /srv/homeshostname1(rw,sync) hostname2(ro,sync)

#

# Example for NFSv4:

# /srv/nfs4gss/krb5i(rw,sync,fsid=0,crossmnt)

# /srv/nfs4/homesgss/krb5i(rw,sync)

#

/home/nfsboot *(rw,sync)解释一下:

#后面的都是解释

/home/nfsboot是NFS的共享目录,*表示任何IP都可以共享这个目录,你可以改为受限的IP,rw表示的是权限,sync是默认的。

然后在home下建立nfsboot目录

4、更新exports文件

只要你更改了/etc/exports,你可以通过exportfs -r来更新 这个文件

5、重启NFS服务

/etc/init.d/nfs-kernel-server restart重启nfs服务

修改nfsboot属性:chmod 777 nfsboo

6、进行测试

尝试一下挂载本地磁盘(我的linux系统IP为59.71.73.233,将/home/nfsboot挂载到/mnt)

$ mount 59.71.73.233:/home/nfsboot /mnt运行$ df看看结果$ umount /mnt //卸载

5、嵌入式系统中使用NFS服务挂载(来自网上)

先要保证内核支持nfs文件系统,可以用如下方式查看:

cat /proc/filesystems

081214155108.jpg

其中有nfs一项,表示次内核已经支持nfs,否则要在编译内核的时候选择上

081214155135.jpg

G、以后每次重新启动之后需要使用nfs时,则先需要将其mount.

mount 59.71.73.233:/home/nfsboot /mnt

H、最后设置U-boot的环境变量和开发板的网络连接。

1、设置网卡地址:

U-Boot>setenv ethaddr 3e:36:65:ba:6f:be

2、设置IP地址:

U-Boot>setenv ipaddr 192.168.1.3

3、设置环境变量:

U-Boot>setenv bootargs mem=64M console=ttyS0 115200 root=/dev/nfs rw nfsroot=192.168.1.1:/home/nfsboot ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0::eth0:off

然后保存参数:

U-Boot>saveenv

其中nfsroot=192.168.0.10:/home/target表示nfs将从192.168.1.1:/home/target文件

夹内启动根文件系统

ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0::eth0:off

表示ip=$(taget IP):$(servicer IP):$(netGate):$(netMask)::(device):off

重新启动目标板,就能从nfs根文件系统启动了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值