我承認自己是菜鳥,沒什么網絡知識就來搞掛載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@localhostrootfs]#ifconfigeth0192.168.0.121
這個說得通俗點就是修改虛擬機的ip地址
②啟動NFS服務器
[root@localhostrootfs]#/etc/init.d/nfsrestart
③設置NFS共享目錄
[root@localhostrootfs]#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到NANDFlash
步驟三、選擇【2】下載kernel到NANDFLASH
Ps:如果你已經把yaffs2文件系統下載進去了,如果下面設置好了,在里面也沒有影響的。
完成上面二個燒寫后,按q進入u-boot命令行。輸入PRintenv:可以查看你當前的環境變量
步驟四、進入u-boot環境變量設置IP
①設置開發板IP
[Webee_210]#setipaddr192.168.0.120
②設置PC端IP(也是在u-boot命令行這里設置)
[Webee_210]#setserverip 192.168.0.121 //設置虛擬機ip作為服務器
[Webee_210]#setgatewayip 192.168.0.1 //設置A8的網關
③設置NFS啟動參數
[Webee_210]#setenvbootargsnoinitrdroot=/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:offinit=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
④將剛設置的參數寫入NANDFLASH
[Webee_210]#saveenv
此時可以用printenv查看參數
可以看到,上面很多環境變量是我們自己設置的 。
到這個步驟你可以用電腦、虛擬機、板子相互ping會發現下面情況,這是正常的:
電腦 ping 板子 不通虛擬機 ping 板子 不通板子 ping 電腦 通板子 ping 虛擬機 通虛擬機 ping 電腦 通電腦 ping 虛擬機 通
貼一張圖片
⑤將Linux內核從NANDFLASH讀入內存,然后啟動內核。
[Webee_210]#nandread0x20007fc00x1000000x500000
⑥NFS啟動內核
[Webee_210]#bootm0x20007fc0
啟動完后
上面可以看到VFS:mount root (nfs filesystem)ondevice 0:9.表示nfs文件系統已成功掛載。
到這個步驟你可以用電腦、虛擬機、板子相互ping會發現下面情況,這是正常的:
電腦 ping 板子 通虛擬機 ping 板子 通板子 ping 電腦 通板子 ping 虛擬機 通虛擬機 ping 電腦 通電腦 ping 虛擬機 通
貼下圖片
板子ping 電腦、網關、虛擬機
虛擬機 ping 板子
電腦ping板子
哈哈,是不是成功啦
試一下在板子上新建一個123.c文件
看一下虛擬機上有沒有
有了就成功了,到此結束。
新聞熱點
疑難解答