歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> NFS 網絡文件系統掛載在A8板子上

NFS 網絡文件系統掛載在A8板子上

日期:2017/2/28 14:01:51   编辑:Linux教程

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

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

Copyright © Linux教程網 All Rights Reserved