Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1887372
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: 嵌入式

2011-03-14 09:27:37

昨晚刚写了一篇Ubuntu10.04下的TFTP配置,这里的TFTP服务器配置用的是老方法了,不过也还是可以用。虽然TFTP及NFS网络配置方面 非常简单,不过由于长时间不用,今天再回过头来实现这两方面的配置过程,结果还真是郁闷至极,看来不能忽视以前学过的知识,有空还得强化才行。

        接着来总结总结今天出现的一些问题,先来说说TFTP配置出来的一些问题吧,简单的归结如下:

        当TFTP配置成功后,在PC机上测试可以实现上传与下载,说明是TFTP已经配置成功,是正常的,当目标板烧写了Uboot之后,设置了环境变量 ethaddr、ipaddr、serverip等,然后对主机进行ping操作,结果总是失败。但是主机ping目标板却是成功的,这是啥原因呢?

        为了解决这个问题,我对TFTP服务器的配置成功与否产生质疑,结果重来了几次,最终以失败告终。紧接着在windows环境下用TFTP-server 测试,还是出现这种问题,失败。最后换了个uboot测试,还是没成功。郁闷啊郁闷!!!!这是何等的郁闷,没想到被这小小的TFTP给难住了。如果目标 板与主板没连通,我后面的实验就做不下去了,真是麻烦,心急如焚,虽说不能太急,但是由于已经花了半天的时间了,不能再浪费了。后来出去溜达了两圈,突然 间想到:NND,与目标板相连的是网线,其与PC相连的是有线以太网口,即eth0,而我现在连的是无线接口wlan0,这岂不是扯蛋嘛。于是乎,重新点 烯了希望,马上把wlan0无线断了,启用eth0的方式与目标板相连,并用ifconfig eth0 192.168.0.112配置主机IP。配置成功后,再次进行ping操作,果然,成功了!!!!!这个问题虽然有点白,不过确实让我花了很大时间去 找,哎,还好解决。

       接着谈谈配置NFS网络存在的一些问题吧,问题如下:

       当配置成功后,在本地进行测试,为何会挂载不成功呢:

       cpc@ubuntu:~$ sudo mount -t nfs 192.168.0.112:/home/cpc/nfs /mnt/nfs
       mount.nfs: access denied by server while mounting 192.168.0.112:/home/cpc/nfs

      这个问题还真棘手,不过也成功解决了,原因如下:

     1:没有启动端口映射  

           应该执行#sudo  /etc/rc.d/init.d/portmap start (如果不行,就执行:#sudo /etc/init.d/portmap start,如果还不行,则执行这一条:

           #sudo  service portmap start(这一条绝对能成功)

     2:  将/etc/exports中的“/home/cpc/nfs 192.168.0.*(rw, sync, no_subtree_check)" 改写成“ /home/cpc/nfs *(rw,sync, no_root_squash)"即可

     这样一改就可以解决上述的问题了。

        下面就来详细地谈下如何配置TFTP服务器和NFS网络吧

1 TFTP服务器配置

        1.1安装tftpd、tftp和openbsd-inetd

        #sudo apt-get install tftpd

        #sudo apt-get install tftp

        #sudo apt-get install openbsd-inetd

      1.2 在用户主目录下创建tftpboot目录并设置其读取权限

      mkdir /home/cpc/tftpboot

      chmod 777 /home/cpc/tftpboot

       1.3修改/etc/inetd.conf配置文件

       #sudo vim /etc/inetd.conf      打开文件

        将文件底部加入为以下内容:

         tftp        dgram    udp    wait    nobody    /usr/sbin/tcpd    /usr/sbin/in.tftpd /home/cpc/tftpboot

         注:最后面的/home/cpc/tftpboot即为tftp服务器的目录了。

        1.4修改 /etc/xinetd.d/tftp  配置文件(如果没有 tftp文件就创建它)

        #sudo vim /etc/xinetd.d/tftp 打开文件后修改成如下样式:

       service tftp
       {
               disable         =no
               socket_type     =dgram
               protocol        =udp
               wait            =yes
              user            =root
              server          =/usr/sbin/in.tftpd
              server_args     =-s /home/cpc/tftpboot -c
              source          = 11
              cps             = 100 2
      }

      当然以上的server_args参数可以根据实际情况修改。

           1.5 修改 /etc/default/tftpd-hpa文件如下:

         #/etc/default/tftpd-hpa
         RUN_DAEMON="no"
         OPTIONS="-s /home/cpc/tftpboot -c -p -U tftpd" 

           1.6开启服务

        sudo /etc/init.d/openbsd-inetd reload 

        sudo /etc/init.d/xinetd restart

        sudo in.tftpd -l /home/cpc/tftpboot

   

         1.7测试是否成功配置(这块就不讲了,略过)

---------------------------------------------------

2   NFS网络文件系统配置

 

       2.1安装 NFS服务器安装 nfs-kernel-server

       可以通过新立得软件包管理器来安装或#sudo apt-get install nfs-kernel-server

       2.2 在用户根目录下建立nfs目录并改变目录权限

       mkdir /home/cpc/nfs

       chmod 777 /home/cpc/nfs

       2.3 修改/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(rwsync) hostname2(rosync)

  #

  # Example for NFSv4:

  # /srv/nfs4 gss/krb5i(rwsyncfsid=0crossmnt)

  # /srv/nfs4/homes gss/krb5i(rwsync)

         /home/cpc/nfs  *(rw, sync, no_root_squash)

        2.4 修改配置完后,接下来最关键的一步就是要启动portmap服务与nfs-kernel-server服务

       

        sudo service portmap start(启动portmap端口映射)

       

        sudo /etc/init.d/nfs-kernel-server restart (启动nfs服务)

       2.5测试

       可以把nfs文件系统mount到/mnt/下,然后在/mnt下查看文件的内容,如果在/mnt下能查看到与/nfs目录下的内容,则说明nfs网络文 件系统配置成功。这样,嵌入式目标板运行时可以通过设置环境变量bootargs,让其过挂载nfs上的文件系统,这样方便调试。

      

        mount –t nfs 192.168.0.112:/home/cpc/nfs/ /mnt

       然后查看ls /mnt内容。

---------------------文章结束---------------------
阅读(951) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~