NFS和TFTP是利用网络传输数据的两种主要服务。接下来详细解释如何在ubuntu下安装这两种服务:
1.搭建TFTP服务器:
首先要安装tftp服务端:
sudo apt-get installtftpd-hpa //tftpd-hpa是服务器端
sudo apt-get install tftp-hpa(如果不需要客户端可以不安装)
安装好后配置服务器的设置:
sudo vim /etc/default/tftpd-hpa
1 # /etc/default/tftpd-hpa
2
3 TFTP_USERNAME="tftp"
4 TFTP_DIRECTORY="/tftpboot"
5 TFTP_ADDRESS="192.168.1.20"
6
7 #TFTP_ADDRESS="127.0.0.1"
8 TFTP_OPTIONS="--secure"
IP改为自己主机上设置的IP,我的为192.168.1.20
其中第二项是TFTP的传送目录,将传输的文件放在该文件夹下即可,在这里新建一个/tftpboot目录用于存放文件。
而且要注意的是要将/tftpboot文件夹的权限修改成777,命令如下:chmod777 -R /tftpboot
第三项tftp地址是主机的ip地址,设置好保存即可。
然后重新启动tftp服务:sudo service tftpd-hpa restart
到这步,主机上的tftp服务就算配置完成
tftp -g –r 文件名 服务器IP
tftp -p –l 文件名 服务器IP
在本机上开另外一个终端也可以进行测试:
tftp 127.0.0.1
tftp > get 文件名
2.NFS文件系统搭建
首先安装nfs服务:sudo apt-get install nfs-kernel-server
执行命令:mkdir /exp 建立一个nfs服务的专有的文件夹,这个文件夹就是将来传输文件用到的建立好文件夹后,接着执行命令:sudo vi /etc/exports 配置nfs
在文章的最后一行添加:/exp*(rw,sync,no_root_squash,no_subtree_check)
1 # /etc/exports: the access control list for filesystems which may be exporte d
2 # to NFS clients. See exports(5).
3 #
4 # Example for NFSv2 and NFSv3:
5 # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_ subtree_check)
6 #
7 # Example for NFSv4:
8 # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
9 # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
10 #
11
12 /exp *(rw,sync,no_root_squash,no_subtree_check)
13 /usr/local/ti-sdk-am335x-evm/targetNFS *(rw,nohide,insecure,no_subtree_check ,async,no_root_squash)
其中:
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
修改完之后保存退出
执行命令:sudo/etc/init.d/rpcbind restart 重启rpcbind 服务
sudo /etc/init.d/portmap restart (linux 6.0以上版本rpcbind 代替portmap)
执行命令:sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
到这一步,主机的NFS服务就是配置完成
然后在嵌入式设备上进行挂载操作:
mount -t nfs 192.168.1.20:/exp /mnt -o nolock
将该ip地址的/exp目录映射到嵌入式板子的/mnt目录,也就是将/exp目录挂载到/mnt目录。访问开发板的/mnt目录,其实就相当于访问主机的/exp目录.