全志A33-ARM开发板通过NFS与Ubuntu共享文件
環境:win10
開發板:全志A33
Ubuntu版本:ubuntu-gnome-16.04-desktop-amd64,gnome版
-------------------------------------------------------------------------------------
?
IP地址:
PC:169.254.247.140
A33:169.254.247.139
Ubuntu:169.254.247.138
首先保證開發板和Ubuntu能互ping,具體配置見:A33-通過網線連接PC(Ubuntu、PC、A33).note
?
NFS(Network FileSystem,網絡文件系統)是由SUN公司發展,并于1984年推出的技術,用于在不同機器,不同操作系統之間通過網絡互相分享各自的文件。NFS設計之初就是為了在不同的系統間使用,所以它的通訊協議設計與主機及操作系統無關。
NFS分服務器和客戶機,當需要使用遠端文件時,只要用mount命令就可把遠端NFS服務器上的文件系統掛載在本地文件系統之下,操作遠程文件與操作本地文件沒有不同。NFS服務器所共享文件或目錄記錄在/etc/exports文件中。
???????嵌入式Linux開發中,會經常使用NFS,目標系統通常作為NFS客戶機使用,Linux主機作為NFS服務器。在目標系統上通過NFS,將服務器的NFS共享目錄掛載到本地,可以直接運行服務器上的文件。在調試系統驅動模塊以及應用程序,NFS都是十分必要的,并且Linux還支持NFS根文件系統,能直接從遠程NFS root啟動系統,這對嵌入式Linux根文件系統裁剪和集成也是十分有必要的。
?
1. Ubuntu端啟用NFS
1)安裝NFS
執行:sudo apt-get install nfs-kernel-server
2)配置NFS
修改/etc/exports文件,在其中增加需要共享的NFS服務器目錄。?一個NFS服務器可以共享多個NFS目錄,在/etc/exports文件中,每個目錄的設置獨占一行。
格式:NFS共享目錄路徑????客戶機IP或者名稱(參數1,參數2,...,參數n)
參數:
| 參數 | 說明 |
| ro | 只讀訪問 |
| rw | 讀寫訪問 |
| sync | 所有數據在請求時寫入共享 |
| async | nfs在寫入數據前可以響應請求 |
| secure | nfs通過1024以下的安全TCP/IP端口發送 |
| insecure | nfs通過1024以上的端口發送 |
| wdelay | 如果多個用戶要寫入nfs目錄,則歸組寫入(默認) |
| no_wdelay | 如果多個用戶要寫入nfs目錄,則立即寫入,當使用async時,無需此設置 |
| hide | 在nfs共享目錄中不共享其子目錄 |
| no_hide | 共享nfs目錄的子目錄 |
| subtree_check | 如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的權限(默認) |
| no_subtree_check | 不檢查父目錄權限 |
| all_squash | 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄 |
| no_all_squash | 保留共享文件的UID和GID(默認) |
| root_squash | root用戶的所有請求映射成如anonymous用戶一樣的權限(默認) |
| no_root_squash | root用戶具有根目錄的完全管理訪問權限 |
| anonuid=xxx | 指定nfs服務器/etc/passwd文件中匿名用戶的UID |
| anongid=xxx | 指定nfs服務器/etc/passwd文件中匿名用戶的GID |
這里設置/home/baoli/nfs 為共享目錄,修改/etc/exports文件,增加:
/home/baoli/nfs *(rw,sync,no_subtree_check,no_root_squash,insecure)
保存退出。
重啟portmap,執行:sudo service portmap restart
重啟nfs,執行:sudo service nfs-kernel-server restart
?
2. 本機測試
執行:sudo mount -t nfs 127.0.0.1:/home/baoli/nfs /mnt
在nfs下執行:touch test
在/mnt下可看到新建的test文件。
?
3. 開發板測試
開發板通過網線連接到PC,配置好IP,且超級終端連接開發板。
1)掛載NFS共享目錄
先在/mnt/下新建baoli_nfs 目錄
執行:mount -t nfs 169.254.247.138:/home/baoli/nfs /mnt/baoli_nfs -o nolock
提示錯誤如下:
mount: mounting 169.254.247.138:/home/baoli/nfs on /mnt/baoli_nfs failed: Protocol not supported
原因:內核沒有配置支持NFS client。
解決:配置內核重新燒錄。
File systems ---> [*] Network File Systems --->NFS client support
燒寫完內核鏡像后,再次測試
執行:mount -t nfs 169.254.247.138:/home/baoli/nfs /mnt/baoli_nfs -o nolock
執行:ls /mnt/baoli_nfs 可查看到test文件。
2)測試:
在超級終端下:
切換到 /mnt/baoli_nfs ,執行vi test
輸入hello world ,保存退出
在Ubuntu下:
切換目錄到/home/baoli/nfs,執行vim test
可看到hello world
?
?
總結
以上是生活随笔為你收集整理的全志A33-ARM开发板通过NFS与Ubuntu共享文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称英特尔将再发鸡血驱动,提升锐炫显卡
- 下一篇: 全志A33-gpio驱动程序