搭建Ubuntu tftp 伺服器和NFS
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目錄.