歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Tiny6410基於linux2.6.36內核通過NFS啟動根文件系統總結

Tiny6410基於linux2.6.36內核通過NFS啟動根文件系統總結(成功掛載nfs根文件系統)

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

操作命令:

setenv serverip console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.100:/opt/FriendlyARM/mini6410/linux/rootfs,proto=tcp,nfsvers=3,nolock ip=192.168.1.70:192.168.1.100:192.168.1.100:255.255.255.0:linux.arm9.net:eth0:off

解釋一下其中的意思了:

console=ttySAC0                     ttySAC0 作為控制台

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

nfsroot=192.168.1.100:/opt/FriendlyARM/mini6410/linux/rootfs,

                                                    表示的是 nfs 起的根文件系統位於 nfs 服務器 /opt/FriendlyARM/mini6410/linux/rootfs,目錄下

proto=tcp,nfsvers=3,nolock    如果不加這條語句會造成上面的 nfs: server192.168.1.100 notresponding, still trying 這樣的錯誤!

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

 ip=192.168.1.70:192.168.1.100:192.168.1.100:255.255.255.0:linux.arm9.net:eth0:off

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

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

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

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

                              第四項(IP3)是子網掩碼

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

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

操作過程如下圖所示:

1) 設置主機的IP地址和bootargs環境變量

 

執行結果


2. 通過 tftp 下載位於虛擬機 /tftpboot 目錄下的uImage 文件到 0xc0008000 處!

執行結果


3. bootm

4. 等待查看,按提示按下Enter!

Copyright © Linux教程網 All Rights Reserved