Chinaunix首页 | 论坛 | 博客
  • 博客访问: 852640
  • 博文数量: 321
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 936
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-23 11:25
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(10)

2015年(61)

2014年(187)

2013年(62)

分类: LINUX

2014-05-07 16:41:27

    在此要特别感谢技术上的发烧友们提供的帖子给我的帮助,搞了整整一天终于搞定了。
    搭建好开发环境后,内核镜像烧写,flash的分区全部都弄好了,ubi文件系统备好了,准备通过NFS方式启动,它妹的出现了如下的问题。
 
    Looking up port of RPC 100003/2 on 192.168.0.199
    rpcbind: server 192.168.0.199 not responding, timed out
    Root-NFS: Unable to get nfsd port number from server, using default
    当时我想怎么回事,以前NFS相当顺利,今天就重新准备了个环境就出现这个问题,没关系,搞掉他,
我看到错误信息说“从服务器端获取端口出现问题”。
    好,马上回去看一下,启动portmap服务,用命令 “sudo /etc/init.d/portmap start”这下应该可以了吧,又重启了一下我的nfs服务端,“sudo /etc/init.d/nfs-kernel-server start”,FUCK 还不行,又出现上面的问题,我看看刚才端口服务启动的输出信息
“Rather than invoking init scripts through /etc/init.d, use the service(8)
  utility, e.g. service portmap start
  Since the script you are attempting to invoke has been converted to an
  Upstart job, you may also use the start(8) utility, e.g. start portmap
尼玛啊,我英文还算过的去,看了一下没明白到底起没起啊。FUCK
  启用终极途径,上网搜搜,有灵感,“rpcinfo -p” 查看当前所有的portmap的信息。
  我又运行了一下 "sudo /etc/init.d/nfs-kernel-server restart",
  "Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service portmap restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart portmap
portmap start/running, process 708"
  看到了没,有portmap的进程在起着,说明启动成功,在复位一次。
尼玛啊,还不行,看来问题不是在这,在上网看看,格老子的,原来出现这个问题的人这么多啊,
仔细搜罗,比较受大家认同的是关掉防火墙,我很诧异,真的么。。真的么。。管他娘的先试试。
  关啊,我用的是ubuntu 先查看一下防火墙的状态"sudo ufw status" 你妹啊,根本就没开启过,一直是"inactive",尼玛啊,还不行
  再看看,说nfs配置有问题,我靠不是吧,有这么山炮么,还是查一遍吧,我在自的虚拟你(vmware)家目录下挂载mount文件系统,靠,很成功啊。
  然后我用showmount -e 你妹啊,出问题了
  报了个这个"clnt_create: RPC: Program not registered"(我在这又去查rpc查阅好久,坑爹啊) 
  尼玛啊,之前从没遇见过。
  在看一下,试试这个,"showmount 192.168.0.199 -e"
  没问题,显示出挂载文件系统目录。
  到现在还没找到问题
  我先把启动参数 和 exports文件的内容晒一下吧
  upkernel=tftp $(loadaddr) $(bootfile);nand erase clean $(kerneladdr) $(filesize);nand write.jffs2 $(loadaddr) $(kerneladdr) $(filesize);setenv kernelsize $(filesize); saveenv
upsafefs=mtdparts default;nand erase safefs;ubi part safefs;ubi create  safefs;tftp $(loadaddr) $(safefs);ubi write $(loadaddr) safefs $(filesize)
uprootfs=mtdparts default;nand erase rootfs;ubi part rootfs;ubi create  rootfs;tftp $(loadaddr) $(rootfs);ubi write $(loadaddr) rootfs $(filesize)
yboot=nand read.jffs2 $(bootmaddr) $(kerneladdr) $(kernelsize);bootm $(bootmaddr)
safemode=setenv bootargs ubi.mtd=3 root=ubi0:safefs console=ttyS0,115200 mem=64M rootfstype=ubifs rw;run yboot
zhiyuan=run upsafefs; run upkernel; run set
set=setenv bootargs ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs console=ttyS0,115200 mem=64M, monitor=$(monitor), $(opt); saveenv
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:1536k(bootloder),512k(params),4m(kernel),16m(safefs),-(rootfs)
partition=nand0,0
mtddevnum=0
mtddevname=bootloder
filesize=1B49A8
fileaddr=80008000
netmask=255.255.255.0
kernelsize=1B49A8
ipaddr=192.168.0.200
serverip=192.168.0.199
bootargs=root=/dev/nfsroot rw console=ttyS0,115200 nfsroot=192.168.0.199:/home/linux/work/rootfs ip=192.168.0.200:192.168.0.199:192.168.0.1:255.255.255.0:epc.zlgmcu.com:eth0:off
gatewayip=192.168.0.1
stdin=serial
stdout=serial
stderr=serial
/*****************************************
*****************************************/
exports 文件内容
/home/linux/work/ *(rw,sync,no_root_squash)(这里不用指定的文件系统目录,随便你指定到那个目录,他都会支持把当前目录下的文件挂载)
 
对了我在这要说点有意思的东西,我上google查阅,看很多外国人也有这个问题,有的外国佬说快被折磨疯了( to be crazy)(fuck),哈哈。。
问题还没解决。
难道是网络有问题,我之前弄的都是NAT地址转换,格老子的,今天换个桥接的(bridge)把虚拟机和板卡和主机都制定在同一个网段(ifconfig eth0 )
再试试。。。。。。。。。。。。。。。。。。。。。。。。
尼玛
过去了
尼玛啊。。。。。。。。。。。。。。。。。。
又停了。。。。。。。。。。。
IP-Config: Complete:
     device=eth0, addr=192.168.109.27, mask=255.255.255.0, gw=192.168.109.254,
     host=zlg, domain=, nis-domain=(none),
     bootserver=192.168.109.33, rootserver=192.168.109.33, rootpath=
Looking up port of RPC 100003/2 on 192.168.109.33
Looking up port of RPC 100005/1 on 192.168.109.33
VFS: Mounted root (nfs filesystem).
Freeing init memory: 108K
init started: BusyBox v1.11.2 ()
starting pid 321, tty '': '/etc/rc.d/rcS'
Mounting /proc and /sys
Starting the hotplug events dispatcher udevd
Synthesizing initial hotplug events
Setting the hostname to zlg
Mounting filesystems
mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Running sysctl
Setting up networking on loopback device:
Setting up networking on eth0:
nfs: server 192.168.109.33 not responding, still trying
不过总算过了一关。
在找。。。。
恩人啊。。。。
我在这个问题上磨了半天了
终于得到化解
以下是引用恩人的语录:
引用地址:
*****在其中一篇文章中有人提到,可能是根文件系统启动的时候更改了目标板的ip,当时想这不应该,ip我通过bootargs已经传给内核了,而且也已经成功挂载了,要是更改了就不能挂载了。我晕死,当时犯浑了,挂载是发生在启动前的,是系统启动的时候改的,所以才导致系统无法启动的
于是我翻找上述那一大段的信息找到了starting pid 321, tty '': '/etc/rc.d/rcS'
这是系统启动时执行的第一个文件rcS,我想问题就在这里啦。于是在主机里,打开rcS,并没有发现更改IP的地方啊,但是我看到在这个文件里有句话
#load the configuration information
. /etc/rc.d/rc.conf(注意,这是在开发板上的根文件目录里)
这就是系统启动的时候加载的第一个配置文件了,问题应该就出现在这里了,打开这个文件惊奇的发现如下我期待已久的信息:
export INTERFACE0="eth0"
export IPADDR0="192.168.7.236"
export NETMASK0="255.255.255.0"
export BROADCAST0="192.168.7.255"
export GATEWAY0="192.168.7.1"
export NAMESERVER0="192.168.7.1"
看来就是它了,于是我按照自己的配置更改了选项:

export INTERFACE0="eth0"
export IPADDR0="192.168.109.101"
export NETMASK0="255.255.255.0"
export BROADCAST0="192.168.109.255"
export GATEWAY0="192.168.109.254"
export NAMESERVER0="192.168.109.254"
改好之后,保存。然后,回到Tera Term下,重启开发板,成功啦
 
阅读(1146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~