搭建NFS、TFTP服务器

2019-07-13 05:57发布

1、搭建NFS服务器         嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。 安装nfs-kernel-server:          user@ubuntu: ~$ sudo apt-get install nfs-kernel-server   设置NFS-Server目录:          修改/etc/exports文件,在其中增加NFS服务器目录。一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:          NFS共享目录路径  客户机IP或者名称(参数1,参数2,...,参数n)         假定NFS共享目录是/home/user/nfs,允许所有客户机访问,/etc/exports文件可写为:          /home/user/nfs *(rw,sync,no_subtree_check,no_root_squash) 启动NFS服务器         user@ubuntu:~$ sudo service rpcbind start         user@ubuntu:~$ sudo service nfs-kernel-server start 用开发板验证NFS服务器         启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:         target# mount -t nfs 192.168.6.158:/home/user/nfs /mnt -o nolock         挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。 通过NFS加载rootfs,在uboot下设置环境变量:         setenv bootargs console=ttymxc1,115200init=/linuxrc root=/dev/nfs nfsroot=192.168.1.8:/home/user/nfs/rootfs ip=192.168.1.18 如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:          user@ubuntu:~$ exportfs -ra
2、搭建tftp服务器 安装xinetd:          user@ubuntu:~$ sudo apt-get install xinetd 安装tftp和tftpd:          user@ubuntu:~$ sudo apt-get install tftp-hpa tftpd-hpa   建立配置文件。建立/etc/xinetd.d/tftp文件,写入如下内容: service tftp {    socket_type = dgram    protocol    = udp      wait        = yes      user        = root     server      = /usr/sbin/in.tftpd      server_args = -s /home/user/tftpfolder/ -c    disable     = no       per_source  = 11       cps         = 100 2    flags       = IPv4  }  说明:修改项server_args = -s -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
更改配置文件/etc/default/tftpd-hpa。内容如下: #/etc/default/tftpd-hpa  TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/user/tftpfolder" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure" 重启Linux系统.

查看UDP 69端口是否启动:         netstat -an | more | grep udp
更改nfs、tftp目录,主机上要修改以下文件:     1/etc/xinetd.d/tftp     2/etc/default/tftpd-hpa     3/etc/exports

#EOF#