Tiny6410 通過 NFS 起根文件系統

今個真高興啊(真的不容易啊),Tiny6410 終於可以通過 NFS 起根文件系統了,那個 Linux 系統總算跑起來了(相對 initramfs 起根文件系統就是好用)!

 

今天完美解決了:nfs: server 192.168.1.111 not responding, still trying 這個問題(後面有解決方法在步驟 7 中有詳細的說明,說白了就是設置好 bootargs 這個 UBoot 環境變量,其實是很簡單的)!

 

1、需要的實驗器材(怎麼感覺像是做實驗的,呵呵~~)

 

1)友善之臂提供的 NFS 文件系統(廠家提供的光盤裏都有)。

2)友善之臂提供的 Linux2.6.38 這個源碼。

3)RHEL5 虛擬機(當然裏面得有必須的交叉工具鏈、NFS 工具等)。

4)超級終端軟件。

5)Tiny6410 開發板!

 

 

2、實驗步驟

 

關於如何解壓文件啊之類的,這個完全自行就可以解決,我這裏只是說操作部分!

 

 

1)編譯 /etc/exports 文件,設置共享目錄。

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 

 

2)啓動 nfs 服務!

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 


 

3)進入 Linux2.6.38 內核文件,拷貝廠商提供的 config 文件到主目錄的 .config 文件。

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 

 

4)直接 make menuconfig,由於廠商都已經做好了,所以這裏就兩點需要更改的,首先是取消 initramfs(這個在 General Setup 裏面),然後選中 NFS(這個貌似在 File System -> NetWork File System 裏面)!

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統 

 

 

5)然後執行命令編譯!

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 

 

 

6)編譯完成後,找到文件,放到 /tftpboot 目錄下。

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 

 

 

7)從 NandFlash 啓動 Tiny6410,然後修改 UBoot 的環境變量 bootargs(就是這裏了,可以解決一開始文章的 not responding 的問題)!

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

注意:

首先呢,我用紅色的橫槓畫出了空格的地方!然後就是其中的意思了:

console=ttySAC0                 ttySAC0 作爲控制檯

 

root=dev/nfs                    固定格式,表示內核採用 nfs 方式起根文件系統

 

nfsroot=192.168.1.111:nfs/rootfs_qtopia_qt4

                                表示的是 nfs 起的根文件系統位於 nfs 服務器 /nfs/rootfs_qtopia_qt4

                                目錄下,我的虛擬機的 IP 爲:192.168.1.111

 

,proto=tcp,nfsvers=3,nolock    如果不加這條語句會造成上面的 nfs: server 192.168.1.111 

                               not responding, still trying 這樣的錯誤!

原因:NFS 的默認傳輸協議是 UDP,而PC機與嵌入式系統通過UPD交互時就會出現嚴重的網卡丟包現象(這個也只是暫時的分析)!貌似好多人都說是網卡移植出現的問題!具體我也就不知道了,反正寫上這個,然後就沒有問題了

 

ip=192.168.1.113:192.168.1.111:192.168.1.1:250.250.250.0:_Justin:eth0:off

                               這句話的格式是:ip=IP1:IP0:IP2:IP3:nameofyoulike:eth0:off

                               第一項(IP1)是目標板的臨時IP(注意不要和局域網內其它的IP有衝突)

                               第二項(IP0)是我的虛擬機的IP

                               第三項(IP2)是目標板上網管(GW)的設置,這個參數設置跟虛擬機網管一致

                               第四項(IP3)是子網掩碼

                               第五項(yourname)是開發板的名字(隨便啦)

                               第六項(eth0)是網卡設備的名字

 

 

 

8)通過 tftp 下載位於虛擬機 /tftpboot 目錄下的 uImage 文件到 0x50000000 處!

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 

 

 

9)bootm 吧~~

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

 

 

 

10)等待查看,按提示按下 Enter!

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

KG鈥擳iny6410 <wbr>通過 <wbr>NFS <wbr>起根文件系統

到這裏就可以完美的在 Tiny6410 上用 NFS 起根文件系統了!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章