1.在开发板具体操作步骤如下:
 
1.1 :设置IP
ifconfig eth0 172.27.52.200
 
1.2 :ping通 虚拟机Linux 主机Linux
ping XXX.XXX.XXX.XXX
 
 
1.3.挂接
mount -t nfs -o nolock  XXX.XXX.XXX.XXX:/work/nfs_root/first_fs  /mnt
// 例如:mount -t nfs -o nolock  172.27.52.100:/work/nfs_root/first_fs  /mnt 
//主机LinuxIP为:172.27.52.100
 
1.4.查看
ls /mnt
 
1.5.加载驱动
insmod  XXX.ko
 
错误提示(而且开发板在终端(串口)的输入/输出都没有反应了):
 server 172.27.52.100 not responding, still trying
 
 
 

 
 
2.报错信息: nfs: server 172.27.52.100 not responding, still trying
 
3.在网上找了下资料.
还是没解决,准备贴出来慢慢解决!!!
 
4.网上找的一篇文章觉得还可以,先贴出来
 

检查一下主机的NFS服务是否正常工作,可以重启一下nfs服务:sudo /etc/init.d/portmap restart 
要是还不行的话,重新安装一遍nfs服务试试

在移植cs89x0后,就一直碰到如下这个问题:

nfs: server 192.168.10.1 not responding

nfs: server 192.168.10.1 not responding

nfs: server 192.168.10.1 OK

……

嵌入式系统要经过很多次很长时间的尝试才能挂上。初步怀疑是NFS配置的问题,后来猜测可能是由于cs8900a丢包严重造成的。

在nfs faq找到:

kernel: nfs: server server.domain.name not responding, still trying 
kernel: nfs: task 10754 can't get a request slot 
kernel: nfs: server server.domain.name OK

A. The "can't get a request slot" message means that the client-side RPC code has detected a lot of timeouts (perhaps due to network congestion, perhaps due to an overloaded server), and is throttling back the number of concurrent outstanding requests in an attempt to lighten the load. Some possible causes:

* Network congestion 
* Overloaded server 
* Packets (input or output) dropped by a bad NIC or driver....

根据上述观点,造成NFS没有回应的原因有3个,分别为网络拥塞、服务器过载和网卡丢包。

在我们的实验系统中,嵌入式系统和宿主机是直连的,而且服务器的基本处于空载的情形,所以不应该是前面两种情况,所以很可能是嵌入式系统网卡丢包严重引起的。

在目标机器中,用ifconfig看了一下,确实丢包比较严重。很可能就是这个问题了。

另一个意外的发现是,在查询丢包是,用tcpdump观察到nfs使用的是UDP协议。于是猜想,用TCP会不会有所改善?

接着就是另一个问题,如何在nfs作为根文件系统时,指定nfs挂载的参数?

带着问题,跟踪了fs/nfs/nfsroot.c的代码,发现在nfs作为根文件系统时,参数可以直接写在“nfsroot=”后面,每个参数用逗号隔开,如:

nfsroot=192.168.10.1:/rootfs,proto=tcp,nfsvers=3,nolock

这样就可以指定nfs使用tcp协议。

重启后发现,竟然不再出现not responding的错误,一切感觉较为正常。

不过,cs8900a丢包现象依然存在。所以,使用tcp只是一个可行的解决办法,但最终还得解决网卡的丢包问题。

我在arm上通过NFS共享文件时出现下面的错误提示 
nfs:server is not responding,still trying

原因分析:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。

解决方法:在客户端改用TCP协议,使用下面的命令, 
#mount -t nfs -o nolock -o tcp 192.168.1.161:/opt /opt

问题三 NFS:server not responing ,still trying 
文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008716/133207.html 
在目标板上通过NFS复制PC机上较大文件到目标板上的时候遇到的问题: 
nfs: server *** not responding, still trying

修改方法: 
nfs mount时候出现的NFS崩溃,按照以下的方式mount 
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.3/root/somedir /client

问题原因: 
Mandag 27 november 2006 20:12 skrev Verner Kjærsgaard: 
> Mandag 27 november 2006 19:33 skrev John P. New: 
> > Verner, 
> > 
> > This is a problem with NFS and 2.6 kernels, fast server NICs and 
> > comparatively slower client NICs. This will show up when the server has 
> > a 1000Mb card and the client a 100Mb, or when the server has a 100Mb 
> > card and the client a 10Mb. 
> > 
> > Essentially, you have to pass some options to the kernel on terminal 
> > boot, and this varies depending on whether you are using etherboot or 
> > PXE. 
> > 
> > See 
> > http://wiki.ltsp.org/twiki/bin/view/Ltsp/NFS#NFS_Server_not_responding 
> > for a deeper explanation of the problem and the cure. 
//注:原因是server机和目标机网卡传输速率冲突,使得目标机需要大量时间复制大量数据包,其实如果目标机的网卡速率够大,则不用分那么多包,也不会冲突。

附 问题四:在测试时,“./progressbar -qws”后出现如Q3一样的提示 ,按Q3来处理。 
以上参考了一些 “ 快乐的天空”的经验,他的网页是: 
http://blog.chinaunix.net/u2/67519/showart_677885.html 
他的 
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.3/root/somedir /host 
应该改成 
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.3/root/somedir /client 
文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008716/133207.html

======================================================================================韦东山给出了正确答案======================================================================================

1.在 <开发板>挂接 虚拟机Linux目录时, 在开发板执行命令:

mount -t nfs -o nolock,vers=2  172.27.52.100:/work/nfs_root/first_fs  /mnt

而不是:

mount -t nfs -o nolock  172.27.52.100:/work/nfs_root/first_fs  /mnt

##注释: 虚拟机Linux的IP: 172.27.52.100   开发板Linux的IP: 172.27.52.200

多加了一个,vers=2,但是不知道具体什么原因(由于对mount命令,以及对NFS不熟悉导致,需要恶补);

韦东山的答案是:选择NFS协议的版本

2.再来试一下,看一下是否解决前面的

# mount -t nfs -o nolock,vers=2  172.27.52.100:/work/nfs_root/first_fs  /mnt

# insmod /mnt/first_drv.ko

# lsmod

Module                  Size  Used by    Not tainted

first_drv               2484  0 

PS:驱动成功加载,很多问题都是因为没有经验,而导致新手弄几天,都找不到答案!

3.下面我们该做的事情应该是找出原因,具体怎么找,得靠大家了,可以在<内核目录>下使用

grep "XXXXXX" * -nR

命令来搜索有用的信息。

4.在/work/system/linux-2.6.22.6 目录下输入:  grep "vers=2" * -nR

打印出如下信息:

fs/nfs/nfsroot.c:153:   {Opt_v2, "nfsvers=2"},

,那么我们跟踪到这个文件去看一下

进入/work/system/linux-2.6.22.6/fs/nfs$目录:

sudo vi nfsroot.c  就可以找到我们需要信息!

在开发板Linux上挂载"驱动"挂载不成功,出现提示server 172.27.52.100 not responding, still trying的更多相关文章

  1. 飞思卡尔imx6开发板Linux下GPIO驱动

    控制GPIO_1_28的输出: #define MY_BOMB_GPIO       IMX_GPIO_NR(1, 28) 配置为输出方式: gpio_direction_output (MY_BOM ...

  2. [分享] IMX6嵌入式开发板linux QT挂载U盘及TF卡

    本文转自迅为开发板:http://www.topeetboard.com 开发平台:iMX6开发板 linux QT 系统下挂载 u 盘如下图所示,qt 启动之后,在超级终端中使用命令“mknod / ...

  3. 迅为4412开发板Linux驱动教程——编写简单应用调用驱动

    Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...

  4. SecureCRT访问开发板linux系统

    前言: 最近在用OK6410开发板跑linux系统,经常在终端上敲一些指令,无奈开发板屏幕太小用起来非常不方便,所以使用终端一款能运行在windows上的软件与开发板连接,直接在电脑上操作开发板了,这 ...

  5. 【嵌入式开发】写入开发板Linux系统-模型S3C6410

    笔者 : 万境绝尘 转载请著名出处 最终拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...

  6. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  7. 迅为4412开发板Linux驱动教程——总线_设备_驱动注冊流程具体解释

    视频下载地址: 驱动注冊:http://pan.baidu.com/s/1i34HcDB 设备注冊:http://pan.baidu.com/s/1kTlGkcR 总线_设备_驱动注冊流程具体解释 • ...

  8. 迅为4412开发板Linux驱动教程/硬件知识及原理图的使用

    视频教程下载地址:http://pan.baidu.com/s/1pJwxUfL 嵌入式研发流程介绍 • PCB研发流程介绍 – 方案,原理图(网表) – layoutproject师(gerber文 ...

  9. 嵌入式驱动开发之---Linux ALSA音频驱动(一)

    本文的部分内容参考来自DroidPhone的博客(http://blog.csdn.net/droidphone/article/details/6271122),关于ALSA写得很不错的文章,只是少 ...

随机推荐

  1. ibats注意

    <isNotEqual property="id" compareValue="0" prepend="and">id=#id# ...

  2. web.xml文件中配置<mime-mapping>下载文件类型

    TOMCAT在默认情况下下载.rar的文件是把文件当作text打开,以至于IE打开RAR文件为乱码,如果遇到这种情况时不必认为是浏览器的问题,大多数浏览器应该不会死皮赖脸地把二进制文件当作文本打开,一 ...

  3. phonegap_android配置文档

    百度文库 http://wenku.baidu.com/link?url=C9l51orfpSrjMEK69-Yjh9hmmaqQj0DicfnYs5FSRhkdy8S62x1aBBwstFH-tJ9 ...

  4. [转]Neutron演进

    在OpenStack世界中,网络组件最初叫nova-network,它混迹于计算节点nova的代码库中.nova-network可以单独部 署在一台机器上,为了高性能HA也可以和nova-comput ...

  5. HackerRank "Training the army" - Max Flow

    First problem to learn Max Flow. Ford-Fulkerson is a group of algorithms - Dinic is one of it.It is ...

  6. 剑指offer系列51---扑克牌顺子

    [题目]抽五张扑克牌,判断五张扑克牌是不是顺子,大小王可看做任何数,0代替. package com.exe10.offer; import java.util.Arrays; /** * [题目]抽 ...

  7. POJ 3709 K-Anonymous Sequence

    题目大意:将一个升序的,有N个元素的序列,分组.要求每组的元素不少于K个,计算出组内各元素与最小元素的之差的和,将每组的这个值加起来,其和要最小. N<500000,K<N 分析: dp[ ...

  8. linux awk命令

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  9. Linux进程内存分析pmap命令(转)

    名称:       pmap - report memory map of a process(查看进程的内存映像信息)用法       pmap [ -x | -d ] [ -q ] pids... ...

  10. [rm] Linux 防止"rm -rf /" 误删除

    一.缘由: 最近看到这则新闻,很是悲伤,因为我最近也在用ansible:然而这一错误源自Ansible上糟糕的代码设计,这款Linux实用工具被用于在多台不同服务器上自动执行脚本. 开发者解释到,实际 ...