2021-05-12 14:32:11
NFS 網路檔案系統掛載在A8板子上
我承認自己是菜鳥,沒什麼網路知識就來搞掛載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
相關文章