Linux下tftp和nfs配置

一.配置tftp
1.安装TFTP软件
    sudo apt-get(yum) install tftp-hpa tftpd-hpa
    tftp-hpa是客户端,tftpd-hpa是服务器端
    
    *Q1:apt-get报unable to fetch some....错误
        ping www.baidu.com不通
        step1:$ sudo gedit /etc/resolv.conf
        step2:添加nameserver 8.8.8.8
2.建立tftpboot目录,作为服务器的目录
    sudo mkdir ~/tftpboot
    释放权限:(服务器目录,需要设置权限为777,chomd 777)
    sudo chmod 777 ~/tftpboot

3.配置TFTP服务器
    sudo gedit /etc/default/tftpd-hpa
将原来的内容为:
    # /etc/default/tftpd-hpa

    TFTP_USERNAME="tftp"
    #TFTP_DIRECTORY="/var/lib/tftpboot"  #修改为自己需要的路径,与上面创建的目录一致
    TFTP_ADDRESS="0.0.0.0:69"
    #TFTP_OPTIONS="--secure"  #可以通过查看mantftpd,看各种参数的意义
    #修改为
    TFTP_DIRECTORY="/home/shenhao/tftpboot"
    TFTP_OPTIONS="-l -c -s"

3.重新启动TFTP服务
    sudo service tftpd-hpa restart
4.验证一下TFTP是否起来了:
    $sudo netstat -nlp |grep ftp
    出现下面的信息代表已经启动了
    udp        0      0 0.0.0.0:69              0.0.0.0:*                           
    3698/in.tftpd      
5.测试下
    $ cd ~/tftpboot echo "hello tftp service">>a.txt
    $ echo "hello tftp service,put to tftp serive">>b.txt
    $ tftp localhost
    tftp> get a.txt
    tftp> put b.txt
    tftp> q

补充fedora:
    $ rpm -qa | grep tftp
    $ yum install tftp tftp-server
    $ gedit /etc/xinetd.d/tftp
    $ service xinetd restart
    $ netstat -a | grep ftp
    http://blog.163.com/tianjunqiang666@126/blog/static/8725911920128199421617/
二、配置nfs服务器
    1、安装nfs
        $sudo apt-get install nfs-kernel-server
    2、配置/etc/exports
        nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。
        例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:
        /rootfs  *(rw,sync,no_root_squash)
        其中: /rootfs是要共享的目录,
        rw是可读写权限,sync是资料同步写入内存和硬盘,
        no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。
    3、重启服务
    $sudo /etc/init.d/portmap restart
    $sudo /etc/init.d/nfs-kernel-server restart
    
    4、测试nfs
        此时可以运行以下命令来显示一下共享出来的目录:
        $showmount -e
        或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/tmp下:
        $sudo mount -t nfs localhost:/rootfs /tmp

        可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:
        $ sudo umount /tmp
        
    5、ARM开发挂载
        PC sever IP:192.168.1.253
        mount -t nfs -o nolock 192.168.1.253:/home/zxp/imx28/nfs_server /mnt/nfs/
   6、遇到的问题

      Q1 :nfs 挂载不成功,CTRL+C结束报错“ failed to register lockdv1 RPC service ”

          A:制作文件系统时有些参数,没有配置 ,使用完整参数挂载即可:

          mount -o port=2049,nolock,proto=tcp -t nfs 192.168.1.251:xxxx /mnt/nfs

         参考文章:http://www.it610.com/article/5428760.htm
三、使用TFTP和NFS调试
    1.连接kernel和根文件系统
        $ cd /tftpboot                    #tftp server根目录
        $ ln -s ~/ltib/rootfs/boot/uImage #kernel所在路径
        
        $ cd /nfs_server
        $ rm -rf rootfs
        $ ln -s ~/ltib/rootfs             #nfs挂载目录为 xxxx/nfs_server/rootfs
        $ sudo exportfs -a
    2.修改uboot参数

你可能感兴趣的:(LINUX)