搞了好久,现在还没成功,但开发板与主机与虚拟机之间已经能互相ping通

所以先记录一下。

先骂下锐捷tm的多网卡限制,浪费了我好多时间

 

 

先说下情况:

1,

主机上有两块实体网卡,一块用来连锐捷上网(网卡A),另一块用来连开发板(网卡B)

vmware虚拟机上的网络设置应该设置为桥接,即在Network Adapter 中设置Bridged,可以把Replicate...那项给勾上。

为了让虚拟机让桥接到网卡B,可以先把网卡A禁用,启动虚拟机,我装的是Ubuntu。

2,

应该设置3个同网段ip,Ubuntu中的ip设置为192.168.1.4,  主机网卡B的ip设置为192.168.1.3(就是那个网卡属性中的手动ip)

开发板ip为192.168.1.6(如果烧写用到是天嵌本身提供的文件系统镜像的话,默认就是192.168.1.6),

可以直接启动开发板,现在应该可以互ping了(3个ip有六条线路,应该都可以ping的通)


今天又重新试了下上面的情况,又不行了,后来重启电脑,又可以了,总之多试试,应该是行的。

 

接下来是在Ubuntu上安装nfs

 

下面转载自http://www.router.net.cn/Article/41378.html,有小修改

建立Ubuntu nfs服务器

在嵌入式 linux 开发的时候,常常需要使用Ubuntu nfs服务器以方便程序的调试.使用 nfs,用户可以

将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个

目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系

统便能被重新使用,这点能够大大加快程序的调试.Ubuntu 下安装 nfs 服务器的步骤如下:

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

sudo apt-get install nfs-kernel-server   nfs-common   portmap

安装客户端的作用是可以在本机进行Ubuntu nfs服务器的测试.

2 配置portmap

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

(1):sudo emacs /etc/default/portmap

去掉  -i 127.0.0.1

(2)sudo dpkg-reconfigure portmap

运行后选择"否"

另外很重要的一点,要用 sysv-rc-conf  (而不是 chkconfig)工具查看一下当前 nfs 和 portmap

的状态,若是 off,则用 sudo sysv-rc-conf portmap on  或 sudo sysv-rc-conf nfs-kernel-server on

打开

3 配置挂载目录和权限

vim /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/homes        hostname1(rw,sync) hostname2(ro,sync)

#

# Example for NFSv4:

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

# /srv/nfs4/homes   gss/krb5i(rw,sync)

#

/opt/EmbedSky/root_nfs    *(rw,sync,)

解释一下:

#后面的都是解释

/nfsboot 是Ubuntu nfs服务器的共享目录,*表示任何 IP 都可以共享这个目录,你可以改为受限的 IP,rw

表示的是权限,sync 是默认的.

4 更新 exports 文件

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

5 重启NFS服务

Sudo /etc/init.d/portmap start

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

6 进行测试

尝试一下挂载本地磁盘(我的 linux 系统 IP 为 202.198.1.4,将/opt/EmbedSky/root_nfs  挂载到/mnt)

$ sudo mount -t nfs 192.168.1.4:/opt/EmbedSky/root_nfs  /mnt

运行  $ df  看看结果

可以在root_nfs下的文件夹内建立文件,看看/mnt里有没有相应的变化

卸载

$ sudo umount /mnt

 

这样nfs服务就算搭建完成了

 

第三步:

修改 文件系统中的"etc/init.d/rcS"文件(可以在嵌入式上启动系统后改,也可在制作文件系统镜像的时候改),屏蔽掉 net_set & 这行,改为"#net_set &" 即可

 

在uboot中设置关于nfs的参数,接下来的操作可以参考天嵌的使用手册和移植手册,

应该可以成功。(以后有时间再整理到这里)

 

现在有一个问题,可以从nfs上启动系统,但过几十秒后退出系统返回到uboot界面。

但可以用yaffs文件系统启动系统,然后用

$ mount -t nfs 192.168.1.4:/opt/EmbedSky/root_nfs /mnt - o nolock

挂载主机nfs。

 

 

 

 

 

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐