我承認自己是菜鳥,沒什麼網絡知識就來搞掛載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
--------------------------------------分割線 --------------------------------------