1、什么是nfs? NFS 是 Network File System 的縮寫, 它可以通過網絡, 讓不同的機器、 不同的操作系統可以共享彼此的文件。 NFS 服務器可以讓 PC 將網絡中的 NFS 服務器共享的目錄掛載到本地端的文件系統中, 而在本地端的系統中來看, 那個遠程主機的目錄就好像是自己的一個磁盤分區一樣, 在使用上相當便利; NFS 服務器我們一般是在 ubuntu 上搭建的。 這里的客戶端我們使用的是開發板, 如下圖所示。 ![]() 使用 nfs 之前, 開發板、 虛擬機 ubuntu、 windows 電腦三者要互相 ping 通, 這就涉及到了同一個網段的概念。 概念: 同一個網段是指 IP 地址和子網掩碼相與得到的相同的網絡地址。 快速判斷同一個網段: (1) 開發板、 虛擬機 ubuntu、 windows 子網掩碼是不是相同。 (2) 開發板、 虛擬機 ubuntu、 windows IP 地址的前三段是不是相同。 舉例: ![]() 由上圖可知, ubuntu 的 IP 為 192.168.1.11, 子網掩碼是 255.255.255.0 Windows: ![]() 由上圖可知, windows 電腦的 IP 為 192.168.1.5 ,子網掩碼是 255.255.255.0所以, ubuntu 和 windows 在同一個網段, 因為子網掩碼相同, 都是 255.255.255.0, IP 地址前三段相同,都是 192.168.1。 同理, 判斷開發板的網段是不是和 ubuntu 和 windows 在同一個網段下, 我們也可以使用這個方法。 3、連接方式 在我們做技術支持的時候,經常遇到很多小伙伴,開發板,Ubuntu,電腦主機不能互相ping通的問題,如果不能互相ping通,就不能使用nfs,所以這里作者總結了一個最穩定的連接方式,推薦大家使用,以免出現不能ping通的問題。 (1) 虛擬機 ubuntu 要使用橋接模式, 不能使用其他模式 (2) 開發板使用無線或者有線連接到路由器上, 不要直接連接到電腦,不要連手機熱點。 (3) windows 關閉防火墻, 使用有線連接到和開發板連接的同一個路由器上。 (4) 保證虛擬機 ubuntu,Windows, 開發板在同一個網段。 4、nfs服務器的搭建 在 ubuntu 安裝 nfs 服務: 使用命令sudo apt-get install nfs-kernel-server,如下圖所示: ![]() 接著使用命令sudo mkdir -p /home/nfs在/home/路徑下創建nfs文件,用來共享使用,如下圖所示: ![]() 使用命令sudo vi /etc/exports,打開配置文件添加 nfs 共享目錄,如下圖所示: ![]() 在配置文件中添加以下代碼: /home/nfs/ *(rw,sync,no_root_squash) 其中: /home/nfs/ 是 nfs 服務器要共享的目錄 rw:是可讀寫權限 sync:是資料同步寫入內存和硬盤 no_root_squash:當登錄 NFS 主機使用共享目錄的使用者是 root 時, 其權限將被轉換成為一名使用者,通常它的 UID 與 GID 都會變成 nobody 身份。 如下圖所示: ![]() 配置完成后保存退出。使用命令/etc/init.d/nfs-kernel-server restart重啟nfs服務,如下圖所示: ![]() 從上圖我們看出,nfs已經重啟成功,說明Ubuntu上的nfs服務器已經搭建成功。 5、nfs服務器使用 我們按照4.4.5.3和4.4.5.2章節連接好開發板并設置好同一網段以后,使用命令mount -t nfs -o nolock 192.168.1.38:/home/nfs /mnt/將Ubuntu系統的/home/nfs文件夾掛載到開發板的/mnt目錄下,如下圖所示: ![]() 這句話代碼的意思是使用 nfs 掛載/home/nfs 到 mnt 文件夾下, 192.168.1.38的 IP 為 ubuntu 的 IP.把這個 ip 改成自己 ubuntu 的 ip 就可以了。 6、nfs服務器測試掛載好nfs以后,接著我們在Ubuntu的/home/nfs文件夾下使用命令sudo touch test.c創建一個c文件,如下圖所示: ![]() 然后在查看開發板的/mnt目錄,如果/mnt目錄下也可以看到我們在Ubuntu虛擬機上創建的這個test.c文件,說明nfs掛載成功,如下圖所示: ![]() 從上圖可以看到,nfs已經可以正常使用。 龍芯2K1000開發板: ![]() 核心板參數: 尺寸:65mm*55mm CPU :龍芯2K1000雙核工業級處理器 主頻:800MHz-1GHz 內存:板載2GB DDR3 ,可選4GB 存儲:8MB的存儲,用來放BOOT引導程序的 工作電壓:12V和5V 系統支持:流暢運行vusybx、buiroot、Loognix、QT5.12系統。 引角擴展:引出腳多達232個,1.0間距的郵票孔方式,滿足用戶各類擴展需求 底板參數: 尺寸:190mm*125mm POWER:電直流電源輸入接口 SWITCH:電源開關 Ethernet:2 路10M/100M/1000M自適應以太網 USB HOST:4路USB2.0 OTG:支持 Mini HDMI:支持 RGB-LCD:支持 WIFI/BT:板載WIFI、藍牙二合一模塊 Mini PCIE:可外接mini PCIE接口的4G模塊,具備PCIE2.0單通道 4G模塊 :支持 (選配) SIM Card:1個 UART:2路串口 RS485:1路 CAN:2路 蜂鳴器:一個有源蜂鳴器 RTC:支持 LIO/UART:2mm間距20PIN插座引出 GPIO :2mm間距20PIN插座引出 耳機接口:標準3.5mm耳機接口 JTAG:1路JTAG調試接口(2mm間距10PIN插座引出) GPS:一路GPS (選配) 固態硬盤接口:1路 (SATA固態盤選配) 按鍵:3個 溫度傳感器:支持 風扇驅動:支持 |