主题 : mini2440 NFS配置 win7 终结版 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 10983
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2009-11-23
最后登录: 2013-04-21
楼主  发表于: 2012-05-12 22:51

 mini2440 NFS配置 win7 终结版

搞了N久终于搞定了,期间不知道碰到多少问题,看了多少文档,终于搞定,要感谢网上那些乐意分享自己经验的兄弟们!
首先说下自己的NFS配置环境:
笔记本一台:win7系统,装有虚拟机,为Fedora 9.0。
2根交叉网线(注意是2根网线),一个路由器(这个要求对于类似我这种配置的必须有)。
usb转串口线。

1
.首先保证Fedora 9.0的加载时不出现mount local filesystem failed,如果出现这个参考
http://blog.163.com/tianhit@yeah/blog/static/16574782120121197157636/

2.在保证这个Fedora 9.0系统的加载不出现mount local filesystem failed后,进行下一步。保证win7系统的超级终端里要能输入,而不是仅能输出。(注意win7系统里是没有超级终端的,要拷贝一个xp系统的超级终端过来,这个可以到网上搜,很简单),往超级终端里输入字母符号等,没反应都是说明驱动装的不对。这个是看了很多网上的兄弟的分享,才知道的。建议到淘宝买DT-5001usb转串口,我的就是这个。但是驱动不能用商家带的,要到网上搜这个驱动:PL2303_Prolific_DriverInstaller_v110.exe。具体怎么安装可以参考《WIN7下USB转串口驱动安装指导》.pdf 这个也需要你到网上搜,很容易搜的。这样基本保证usb转串口没啥问题,我的偶尔还是不能往超级终端里输入,重启一下电脑就好啦。
3.关防火墙,win7的,和虚拟机Fedora 9.0防火墙必须关闭,可参考相关文献。
由于我成功配置NFS前参考相关文献(http://www.aiothome.net/read.php?tid-6795.html).所以为了保证能一次成功,所以建议在关防火墙时还要有如下操作:// 如下一段操作,我也不知到底有没有作用,但是建议还是改一下。
///******以下引用:http://www.aiothome.net/read.php?tid-6795.html************//
1、关闭防火墙lokkit,按手册操作
2、设置TCP Wrapper
打开文件 /etc/hosts.allow
如果文件是空的,加入如下几行:
portmap:192.168.1.
lockd:192.168.1.
rquotad:192.168.1.
mountd:192.168.1.
statd:192.168.1.

如果不是此网段的IP,无法挂接,如果文件是空的,同样无法挂接......这两种我都试过,报的错都是 Server returned error -5
3、关闭iptables服务,执行命令 #service iptables stop

//************************************************************//

4.直接按照mini2440的文档上配置NFS不成功,出现如下情况:
eth0: link down                                                                      
IP-Config: Complete:                                                                  
     device=eth0, addr=192.168.1.70, mask=255.255.255.0, gw=192.168.1.108,            
     host=sbc2440, domain=, nis-domain=arm9.net,                                      
     bootserver=192.168.1.108, rootserver=192.168.1.108, rootpath=                    
Looking up port of RPC 100003/2 on 192.168.1.108                                      
eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1                                      
rpcbind: server 192.168.1.108 not responding, timed out                              
Root-NFS: Unable to get nfsd port number from server, using default    
              
Looking up port of RPC 100005/1 on 192.168.1.108                                      
rpcbind: server 192.168.1.108 not responding, timed out                              
Root-NFS: Unable to get mountd port number from server, using default                
Root-NFS: Server returned error -5 while mounting /opt/FriendlyARM/mini2440/root_qtopa
VFS: Unable to mount root fs via NFS, trying floppy.                                  
VFS: Cannot open root device "nfs" or unknown-block(2,0)                              
Please append a correct "root=" boot option; here are the available partitions:      
1f00             192 mtdblock0 (driver?)                                              
1f01            2048 mtdblock1 (driver?)                                              
1f02           63152 mtdblock2 (driver?)                                              
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

原因是:Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.111:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.1.70:192.168.1.111:192.168.1.111:255.255.255.0:sbc2440.arm9.net:eth0:off"  
这行命令输入的不对。

5首先介绍。我的电脑ip相关信息配置情况如下。我的电脑win7系统的ip是192.168.1.100;Fedora 9.0可以通过在虚拟机系统的终端里 [root@localhost ~]#  ifconfig -a 命令得到 虚拟机的ip地址是192.168.1.108,子网掩码是255.255.255.0 。而目标板可以知道默认的ip地址是
192.168.1.230,子网掩码是:255.255.255.0 ,默认网关是192.168.1.1 。可以看出虚拟机,win7,目标板(开发板)的地址在统一网段内。
所以 当用一个交叉网线连接笔记本和开发板后(现在还没有用路由器),在超级终端里输入:Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.108:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.1.230:192.168.1.108:192.168.1.108:255.255.255.0:sbc2440.arm9.net:eth0:off" 或者Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.108:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.1.230:192.168.1.108:192.168.1.1:255.255.255.0:sbc2440.arm9.net:eth0:off" 后,然后输入boot,按回车就可以 启动NFS系统,都将得到上述错误。
后来发现这是由于win7可以ping 虚拟机,但是虚拟机却不能ping win7造成的,搜了很多文章。发现这两篇兄弟的讨论http://bbs.chinaunix.net/thread-3614162-1-1.htmlhttp://rofrggll.blogbus.com/logs/200945513.html有帮助。而我正是用无线路由器上网的。所以造成了,虚拟机不能ping win7。也就不能通过一根交叉网线去ping开发板啦。这就是说要配置NFS系统,笔记本不能通过无线连接到无线路由器上。(其实我认为笔记本还是可以用无线网络的,就用一个交叉网线也能配置NFS系统,只是要把虚拟机Fedora 9.0,配置好,具体怎么配置,我不会。)
所以刚开始为啥要2根交叉网线,一个路由器的原因就在此。
具体连接如下:用1跟交叉网线连接笔记本和路由器,1个交叉网线连接开发板和路由器。这样就能保证在虚拟机里能ping win7,也能ping开发板(192.168.1.230),同时开发板也要能ping虚拟机(192.168.1.108)啦.
然后在win7 的超级终端里输入Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.108:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.1.230:192.168.1.108:192.168.1.1:255.255.255.0:sbc2440.arm9.net:eth0:off" ,然后输入boot,按回车就可以 启动NFS系统。启动后

6,按下回车,如下,然后创建一个文件,看看在虚拟机中是不是有这个文件
[root@FriendlyARM /]# ls
bin      etc      lib      mnt      proc     sbin     tmp      var
dev      home     linuxrc  opt      root     sys      usr      www
[root@FriendlyARM /]# touch gududesiling[root@FriendlyARM /]# ls
bin          home         mnt          root         tmp          www
dev          lib          opt          sbin         usr          gududesiling  etc          linuxrc      proc         sys          var

,进入虚拟机,打开/opt/FriendlyARM/mini2440/root_qtopia,中确实有gududesiling这个文件,说明我nfs挂在成功了。


注意在将开发板置于Nand Flash 启动时,必须先按住开发板上K1~K6中的任意一个键不动,再开电源,才能进入vivi 模式。建议按住K3键
在解决问题的过程中,还参考了《嵌入式LINUX+ARM学习——WIN7超极终端与串口设置》一文。
[ 此帖被tianhit在2012-05-12 22:56重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-05-13 08:14
有点凑通的意思,不过成功了就前进了一步

还需要对网络连接知识多多理解才行
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.