4412 搭建和測試NFS服務器

1、NFS網絡文件系統

  NFS是Network FileSystem的縮寫,NFS是基於UDP/IP協議的應用。它的最大功能就是能夠經過網絡讓不一樣的機器,不通的操做系統彼此共享文件linux

能夠經過NFS掛載遠程主機的目錄,訪問該目錄就像訪問本地目錄同樣,因此也能夠簡單的將它看作一個文件服務器。ubuntu

  經過NFS服務,咱們能夠實如今線調試文件系統或應用程序,而不用像傳統的方式生成文件系統鏡像,而後燒寫到iTop-4412的eMMC裏,在啓動開發板。服務器

經過NFS服務能夠提升咱們的調試效率。網絡

  Android或者Qt文件系統太大,啓動過慢,最小linux系統卻很是適合使用NFS網絡文件系統來調試。測試

 

2、搭建NFS服務器

安裝Ubunut NFS服務spa

-- apt-get install nfs-kernel-server操作系統

  安裝過程彈出對話,選擇Y,回車繼續安裝調試

配置/etc/exportsrest

-- 最後一行添加/home/minilinux/ *(rw,sync,no_root_squash)server

-- /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命令查看文件是否被掛載

 

3、內核配置

進入內核目錄(),配置爲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地址

-- 開發板的網關

-- 子網掩碼

 

4、以NFS方式調試應用

 內核啓動後,就自動加載上了。全部修改都是對應好的

 

5、最小局域網實現tftp和NFS

PC網絡配置

修改開發板設置並測試

虛擬機的設置

測試三者之間網絡

-- 須要使用網線將開發板和電腦鏈接才能ping通和Ubuntu電腦

實現tftp下載功能

修改內核配置實現NFS

 

6、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

相關文章
相關標籤/搜索