首頁 > 軟體

NFS 網路檔案系統掛載在A8板子上

2020-06-16 18:00:53

我承認自己是菜鳥,沒什麼網路知識就來搞掛載nfs網路檔案系統,花費了5天的時間才把nfs網路檔案系統成功掛載在A8板子上,實現了A8板子和虛擬機器的檔案共用。分享一下個人經驗:

以下是基於nfs已經完成安裝來說

板子接線問題:我是把板子和電腦都接到同一個路由器上的,保證在同一個網段,我的閘道器是192.168.0.1,故我的電腦、虛擬機器、板子的閘道器也是它,我的電腦ip地址是192.168.0.111、虛擬機器ip為192.168.0.121,板子ip為192.168.0.120,發現上面就是192.168.0.*。哈哈,他們就在同一個網段了。

命令的解釋

ifconfig  (在虛擬機器上實際是檢視網路資訊比如ip地址,閘道器。在window下可以用ipconfig檢視)

 如何啟動 NFS 檔案系統

步驟一、PC 虛擬機器端的設定

①  設定虛擬機器 IP 地址

[root@localhost rootfs]#  ifconfig eth0 192.168.0.121

這個說得通俗點就是修改虛擬機器的ip地址

②  啟動 NFS 伺服器

[root@localhost rootfs]#  /etc/init.d/nfs restart

③  設定 NFS 共用目錄

[root@localhost rootfs]#  vim /etc/exports

/*  將下面內容寫入/etc/exports 檔案  */

/rootfs  *(rw,sync,no_root_squash)

注意:rootfs是你所共用的nfs檔案系統的根目錄相當於root,資料夾裡面有什麼你懂的,裡面有什麼bin、sbin、usr等等,不是你的映象檔案。別理解錯,我就是被這個問題拖了好多天的,網峰的該檔案在:原始碼/移植部分/移植後程式碼/根檔案系統/

就是這個檔案:

rw:是讀/寫許可權,唯讀許可權為ro

Sync:資料同步寫入記憶體或硬碟,也可以使用async,此時資料會暫存記憶體,不寫入硬碟。

no_root_squash:NFS伺服器共用目錄的屬性,如果使用者是root,那麼對於這個共用目錄就有root的許可權。

步驟二、選擇【1】下載 u-boot 到 NAND FLASH

步驟三、選擇【2】下載 kernel 到 NAND FLASH

Ps:如果你已經把yaffs2檔案系統下載進去了,如果下面設定好了,在裡面也沒有影響的。

完成上面二個燒寫後,按 q 進入 u-boot 命令列。輸入printenv:可以檢視你當前的環境變數

步驟四、進入 u-boot 環境變數設定 IP 

①  設定開發板 IP

[Webee_210]# set ipaddr 192.168.0.120

②  設定 PC 端 IP(也是在 u-boot 命令列這裡設定)

[Webee_210]# set serverip  192.168.0.121  //設定虛擬機器ip作為伺服器

[Webee_210]# set gatewayip  192.168.0.1    //設定A8的閘道器

③  設定 NFS 啟動引數

[Webee_210]#  setenv  bootargs  noinitrd  root=/dev/nfs

nfsroot=192.168.0.121:/webee,tcp

ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off  init=linuxrc

console=ttySAC0,115200

解釋一下各個引數什麼意思

root=/dev/nfs,  //表示用掛載的nfs檔案系統

nfsroot=192.168.0.121:/webee,tcp  //表示虛擬機器IP:虛擬機器要共用的目錄

ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off    //表示板子IP:虛擬機器IP(伺服器):閘道器IP:掩碼::eth0:off

④  將剛設定的引數寫入 NAND FLASH

[Webee_210]# saveenv

此時可以用printenv檢視引數

可以看到,上面很多環境變數是我們自己設定的 。

到這個步驟你可以用電腦、虛擬機器、板子相互ping會發現下面情況,這是正常的:

 電腦      ping  板子   不通

虛擬機器      ping  板子   不通

板子       ping  電腦    通

板子       ping  虛擬機器   通

虛擬機器      ping  電腦    通

電腦      ping  虛擬機器   通

貼一張圖片

⑤  將 Linux 核心從 NAND FLASH 讀入記憶體,然後啟動核心。

[Webee_210]# nand read 0x20007fc0 0x100000 0x500000

⑥  NFS 啟動核心

[Webee_210]# bootm 0x20007fc0

 啟動完後

上面可以看到VFS:mount root (nfs filesystem)ondevice 0:9.表示nfs檔案系統已成功掛載。

到這個步驟你可以用電腦、虛擬機器、板子相互ping會發現下面情況,這是正常的:

 電腦      ping  板子   通

虛擬機器      ping  板子   通

板子       ping  電腦    通

板子       ping  虛擬機器   通

虛擬機器      ping  電腦    通

電腦      ping  虛擬機器   通

貼下圖片

板子ping 電腦、閘道器、虛擬機器

虛擬機器 ping 板子

電腦ping板子

哈哈,是不是成功啦

試一下在板子上新建一個123.c檔案

看一下虛擬機器上有沒有

有了就成功了,到此結束。

--------------------------------------分割線 --------------------------------------

Ubuntu 12.04安裝NFS server http://www.linuxidc.com/Linux/2012-09/70728.htm

NFS伺服器安裝設定實現Ubuntu 12.04與ARM檔案共用 http://www.linuxidc.com/Linux/2012-10/73159.htm

Ubuntu搭建nfs伺服器 http://www.linuxidc.com/Linux/2012-10/71930.htm

檔案伺服器NFS設定詳解 http://www.linuxidc.com/Linux/2013-06/86542.htm

Ubuntu下搭建NFS網路檔案系統伺服器 http://www.linuxidc.com/Linux/2013-07/87367.htm

Heartbeat_ldirector+LB+NFS實現HA及LB、檔案共用 http://www.linuxidc.com/Linux/2013-06/85292.htm

CentOS 5.5設定NFS伺服器教學 http://www.linuxidc.com/Linux/2013-03/81737.htm

Ubuntu 12.10下NFS的安裝使用 http://www.linuxidc.com/Linux/2013-03/80478.htm

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-05/117032.htm


IT145.com E-mail:sddin#qq.com