4412 搭建和测试NFS服务器
一、NFS網絡文件系統
NFS是Network FileSystem的縮寫,NFS是基于UDP/IP協議的應用。它的最大功能就是可以通過網絡讓不同的機器,不通的操作系統彼此共享文件,
可以通過NFS掛載遠程主機的目錄,訪問該目錄就像訪問本地目錄一樣,所以也可以簡單的將它看做一個文件服務器。
通過NFS服務,我們可以實現在線調試文件系統或應用程序,而不用像傳統的方式生成文件系統鏡像,然后燒寫到iTop-4412的eMMC里,在啟動開發板。
通過NFS服務可以提高我們的調試效率。
Android或者Qt文件系統太大,啟動過慢,最小linux系統卻非常適合使用NFS網絡文件系統來調試。
二、搭建NFS服務器
安裝Ubunut NFS服務
-- apt-get install nfs-kernel-server
安裝過程彈出對話,選擇Y,回車繼續安裝
配置/etc/exports
-- 最后一行添加/home/minilinux/ *(rw,sync,no_root_squash)
-- /home/minilinux/表示要共享的目錄,根據實際情況修改
-- *:代表允許所有的網絡斷訪問
-- rw:是可讀寫權限
-- sync:是資料同步寫入內存和硬盤
-- no_root_squash:是Ubunut nfs客戶端分享目錄使用者的權限,如果客戶端使用的是root用戶,那么對于該共享目錄而言,該客戶端就具有root權限
重啟portmap服務
-- /etc/init.d/portmap restart
重啟nfs服務
-- /etc/init.d/nfs-kernel-server restart
測試NFS服務器
例如我們把/home/minilinux掛載到/mnt目錄下
-- mount -t nfs localhost:/home/minilinux/system /mnt
-- 與明亮對應的是最小文件系統在/home/minilinux目錄下,根據實際情況設置
使用df命令查看文件是否被掛載
三、內核配置
進入內核目錄(),配置為QtE的config文件
-- cp -r config_for_linux_scp_elite.config
進入配置界面,配置內核
-- make menuconfig
“Networking support” -> "Networking options" -> 選上 "IP:kernel level autoconfiguration"
返回到make menuconfig的初始界面
-- "File systems" -> "Network File Systems"
-- 選中“NFS client support”, "NFS client support for NFS version 3", "NFS client support for the NFSv3 ACL protocol extension", "NFS client support for NFS version4", "NFS client support for NFSv4.1" , "Root file system on NFS"
返回到make menuconfig的初始配置界面
-- 進入"Boot options" -> "Default kernel command"
配置舉例:
-- root=/dev/nfs rw nfsroot=192.168.1.103:/home/minilinux/system
ip=192.168.1.230:192.168.1.103:192.168.1.1:255.255.255.0:iTOP:eth0:off
rootfstype=ext4 init=/linuxrc console=ttySAC2,115200
root=/dev/nfs rw nfsroot=192.168.1.103:/home/minilinux/system 表示掛載的nfs服務器ip 是192.168.1.103,掛載的目錄是/home/minilinux/system
(注意:/home/minilinux/system 是前面我們搭建nfs 服務器設置的)
ip=192.168.1.230:192.168.1.103:192.168.1.1:255.255.255.0:iTOP:eth0:off 這里面,第一個ip192.168.1.230 是我們開發板的ip 地址,第二個
ip192.168.1.103 是nfs 服務器的ip,第三個ip192.168.1.1 是開發板的網關,
255.255.255.0 是子網掩碼,iTOP 是開發主機的名字(一般無關緊要,可
以隨便填寫),eth0 是網卡設備的名稱。
配置完畢后保存退出配置內核,編譯內核,下載到開發板
注意下面幾個參數
-- nfs服務器ip
-- 掛載目錄
-- 開發板的IP地址
-- 開發板的網關
-- 子網掩碼
四、以NFS方式調試應用
內核啟動后,就自動加載上了。所有修改都是對應好的
五、最小局域網實現tftp和NFS
PC網絡配置
修改開發板設置并測試
虛擬機的設置
測試三者之間網絡
-- 需要使用網線將開發板和電腦連接才能ping通和Ubuntu電腦
實現tftp下載功能
修改內核配置實現NFS
六、NFS共享目錄
-- NFS網絡文件系統和NFS共享目錄
NFS網絡文件系統:內核啟動運行之后,內核里面直接啟動網絡,然后直接去網絡中找最小linux文件系統。再運行最小linux文件系統,當然文件系統在ubuntu中自動掛載。
NFS共享目錄:內核啟動后,開發板運行的是EMMC上的最小文件系統,最小linux文件系統再去啟動網絡,通過網絡訪問ubuntu,然后訪問共享文件目錄。
-- 搭建NFS服務器
登錄root賬戶
安裝NFS服務
-- apt-get install nfs-kernel-server
修改配置
-- 打開/etc/exports
-- 最后一行添加:/home/topeet/linux/ *(rw,sync,no_root_squash)
-- Ubuntu上需要新建/home/topeet/linux目錄
-- 參數的具體含義參考手冊
重啟NFS服務
-- /etc/init.d/nfs-kernel-server restart
-- 加載NFS驅動
配置確認文件
-- 作者是SCP核心板+精英版
配置內核
進入Networking support -> 選中Networking options然后進入
-- 選中IP:kernel level autoconfiguration
進入filesystems -> 選中Network File Sytem然后進入,選中以下項
-- "NFS client support" , "NFS client support for NFS version 3", "NFS client support for the NFSv3 ACL protocol extension",
"NFS client support for NFS version 4", "NFS client support for NFSv4.1", "Root file system on NFS"一共六個選項
保存退出
編譯內核燒寫
-- 注視掉網卡調試信息drivers/net/usb/dm9620.c,關鍵詞LEN_PLOAD,注視掉三行打印信息
-- 編譯make zImage
-- 燒寫新的內核
-- NFS加載和測試
確保Ubuntu可以聯網
-- 最小網絡PC主機需要和虛擬機Ubuntu之間能夠ping通
確保最小linux系統和Ubuntu之間可以ping通
-- 針對具體網絡設置IP和網關
-- 在/etc/eth0-setting文件中修改
-- 修改之后使用ifconfig eth0 down和ifconfig eth0 up 重啟網卡或者重啟開發板
最小系統
-- mkdir /mnt/nfs新建目錄
掛載NFS目錄
-- mount -t nfs -o nolock 192.168.3.84:/home/topeet/linux /mnt/nfs
--mount -t nfs -o nolock 192.168.2.148:/home/topeet/chen/linux /mnt/nfs
無欲速,無見小利。欲速,則不達;見小利,則大事不成。
總結
以上是生活随笔為你收集整理的4412 搭建和测试NFS服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么选电脑不后悔如何选一台好电脑
- 下一篇: 产后出血能不能吃酒酿