日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

玩转mini2440开发板之【使用nfs无法启动的问题(Virtualbox桥接网络)】

發(fā)布時(shí)間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转mini2440开发板之【使用nfs无法启动的问题(Virtualbox桥接网络)】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天晚上研究了一下如何通過super-vivi來使用nfs網(wǎng)絡(luò)文件系統(tǒng)來啟動mini2440開發(fā)板,一開始一直無法成功,折騰了半天總算搞定了,總結(jié)一下:

1、首先,介紹一下我的開發(fā)環(huán)境。

  • 物理機(jī):win10;
  • 虛擬機(jī):ubuntu 12.04;
  • 模擬器:virtualbox 5.20;

我的步驟是,按照用戶手冊的說明,先用super-vivi引導(dǎo)系統(tǒng),輸入q進(jìn)入命令行模式,然后輸入nfs啟動命令(如下),最后輸入boot啟動系統(tǒng)。

param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.100.1:255.255.255.0:sbc2440.arm9.net:eth0:off"

但是,系統(tǒng)始終無法啟動。每次都提示:

Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done zImage magic = 0x016f2818 Setup linux parameters at 0x30000100 linux command line is: "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.100.1:255.255.255.0:mini2440.arm9.net:eth0:off" MACH_TYPE = 1999 NOW, Booting Linux...... Uncompressing Linux................................................................................................................................................... done, booting the kernel. Linux version 2.6.32.2-FriendlyARM (root@LEON) (gcc version 4.4.3 (ctng-1.6.1) ) #1 Sat Jan 4 21:10:09 CST 2014.......【此處略去N個(gè)字】.........eth0: link down IP-Config: Complete:device=eth0, addr=192.168.100.230, mask=255.255.255.0, gw=192.168.100.1,host=mini2440, domain=, nis-domain=arm9.net,bootserver=192.168.100.108, rootserver=192.168.100.108, rootpath= Looking up port of RPC 100003/2 on 192.168.100.108 eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1 rpcbind: server 192.168.100.108 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 100005/1 on 192.168.100.108 rpcbind: server 192.168.100.108 not responding, timed out Root-NFS: Unable to get mountd port number from server, using default Root-NFS: Server returned error -5 while mounting /opt/FriendlyARM/mini2440/rootfs VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0) Please append a correct "root=" boot option; here are the available partitions: 1f00 256 mtdblock0 (driver?) 1f01 128 mtdblock1 (driver?) 1f02 5120 mtdblock2 (driver?) 1f03 60032 mtdblock3 (driver?) 1f04 65536 mtdblock4 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

可以看到,上述log中最關(guān)鍵的地方就是”rpcbind: server 192.168.100.108 not responding, timed out“這句話了。它的意思就是,開發(fā)板嘗試通過局域網(wǎng)連接到目標(biāo)系統(tǒng)的nfs,但是目標(biāo)無響應(yīng),超時(shí)了。這就意味著,要么就是ubuntu系統(tǒng)的nfs沒有掛載成功,要么就是開發(fā)板沒有連入局域網(wǎng),要么就是ubuntu系統(tǒng)沒有連入局域網(wǎng)。于是一個(gè)一個(gè)來排查吧。

2、首先排查第一個(gè)問題,確認(rèn)一下ubuntu的nfs文件系統(tǒng)是否掛載成功了。這個(gè)問題,可直接參考我的另一篇博客(如何在ubuntu 12.04系統(tǒng)下開啟nfs網(wǎng)絡(luò)文件系統(tǒng))中提到的第5點(diǎn)。我確認(rèn)了我的系統(tǒng),沒有問題。

3、然后排查第二個(gè)問題,確認(rèn)一下mini2440開發(fā)板是否成功連入局域網(wǎng)。可參見我的另一篇博客(mini2440開發(fā)板linux系統(tǒng)下的網(wǎng)絡(luò)參數(shù)設(shè)置)中的第3點(diǎn)。我確認(rèn)了我的開發(fā)板,沒有問題。

4、上述兩個(gè)方面都驗(yàn)證過了,都沒問題,那問題肯定就出在第3個(gè)方面了。也就是說,是ubuntu系統(tǒng)沒有連入到局域網(wǎng)中,導(dǎo)致開發(fā)板無法接入到nfs文件系統(tǒng)。換句話說,就是ubuntu系統(tǒng)和mini2440開發(fā)板并沒有處于同一個(gè)局域網(wǎng)中。

一開始我意識到這一點(diǎn)時(shí),我還懷疑是不是因?yàn)槲业墓P記本沒有使用網(wǎng)線,而用的是無線網(wǎng)絡(luò)。所以我把筆記本的無線網(wǎng)卡禁用掉,然后特地找了一根網(wǎng)線來試試。結(jié)果仍然一樣。這就證明跟無線/有線并沒有什么關(guān)系,應(yīng)該是其他方面的問題。

然后我就去網(wǎng)上查閱各位大神的博客、論壇等。偶然間看到一篇文章里提到了virtualbox下的虛擬機(jī)網(wǎng)絡(luò)模式配置,提到了橋接模式和ip地址設(shè)置,不然無法上網(wǎng)。我立馬靈光一閃,感覺可能跟我的虛擬機(jī)網(wǎng)絡(luò)模式和ip地址配置有點(diǎn)關(guān)系。

因?yàn)槲以谶@之前只是確認(rèn)了一下物理機(jī)的ip地址是192.168.100.108,然后就簡單的以為我的虛擬機(jī)也是這個(gè)ip地址,然后就把這個(gè)ip地址寫入到nfs的啟動參數(shù)中,配置給mini2440。但是,物理機(jī)和虛擬機(jī)的IP地址是不一樣的。我的nfs目錄是掛載在虛擬機(jī)ubuntu的系統(tǒng)下,而不是物理機(jī)win10的系統(tǒng)下。因此我需要獲取到虛擬機(jī)ubuntu系統(tǒng)的ip地址。可是此時(shí)在ubuntu系統(tǒng)下運(yùn)行ifconfig命令時(shí),得到的ip地址信息卻是127.0.0.1之類的信息。這顯然是不對的!而且,此時(shí)從虛擬機(jī)ping物理機(jī)是OK的,但是從物理機(jī)ping虛擬機(jī)是失敗的,這樣肯定是無法從外面掛載虛擬機(jī)里的nfs文件系統(tǒng)的。那該怎么辦呢?

5、這就要回到virtualbox的網(wǎng)絡(luò)模式的配置問題上面了。如下圖,將virtualbox的網(wǎng)卡模式設(shè)置為橋接模式(至于具體原因,請自行百度)。

6、重新啟動虛擬機(jī),輸入ifconfig命令查詢,發(fā)現(xiàn)其ip地址變成了:

leon@Ubuntu:~$ ifconfig eth3 Link encap:以太網(wǎng) 硬件地址 08:00:27:ea:ba:41 inet 地址:192.168.100.104 廣播:192.168.100.255 掩碼:255.255.255.0inet6 地址: fe80::a00:27ff:feea:ba41/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 躍點(diǎn)數(shù):1接收數(shù)據(jù)包:242 錯誤:0 丟棄:0 過載:0 幀數(shù):0發(fā)送數(shù)據(jù)包:126 錯誤:0 丟棄:0 過載:0 載波:0碰撞:0 發(fā)送隊(duì)列長度:1000 接收字節(jié):42431 (42.4 KB) 發(fā)送字節(jié):17387 (17.3 KB)lo Link encap:本地環(huán)回 inet 地址:127.0.0.1 掩碼:255.0.0.0inet6 地址: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 躍點(diǎn)數(shù):1接收數(shù)據(jù)包:24 錯誤:0 丟棄:0 過載:0 幀數(shù):0發(fā)送數(shù)據(jù)包:24 錯誤:0 丟棄:0 過載:0 載波:0碰撞:0 發(fā)送隊(duì)列長度:0 接收字節(jié):3519 (3.5 KB) 發(fā)送字節(jié):3519 (3.5 KB)

這就說明修改成功了。此時(shí)的虛擬機(jī)已經(jīng)跟物理機(jī)一樣并存于局域網(wǎng)中了,它的ip地址,就可以直接提供給mini2440使用了。

7、于是,將此時(shí)的虛擬機(jī)的ip地址,錄入到mini2440的nfs啟動參數(shù)中:

param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.104:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.104:192.168.100.1:255.255.255.0:sbc2440.arm9.net:eth0:off"

然后輸入boot,便可以看到mini2440成功啟動了!

Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done zImage magic = 0x016f2818 Setup linux parameters at 0x30000100 linux command line is: "console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.108:/opt/FriendlyARM/mini2440/rootfs ip=192.168.100.230:192.168.100.108:192.168.100.1:255.255.255.0:mini2440.arm9.net:eth0:off" MACH_TYPE = 1999 NOW, Booting Linux...... Uncompressing Linux................................................................................................................................................... done, booting the kernel. Linux version 2.6.32.2-FriendlyARM (root@LEON) (gcc version 4.4.3 (ctng-1.6.1) ) #1 Sat Jan 4 21:10:09 CST 2014................eth0: link down IP-Config: Complete:device=eth0, addr=192.168.100.230, mask=255.255.255.0, gw=192.168.100.1,host=mini2440, domain=, nis-domain=arm9.net,bootserver=192.168.100.104, rootserver=192.168.100.104, rootpath= Looking up port of RPC 100003/2 on 192.168.100.104 eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1 Looking up port of RPC 100005/1 on 192.168.100.104 VFS: Mounted root (nfs filesystem) on device 0:11. Freeing init memory: 156K hwclock: settimeofday() failed: Invalid argumentTry to bring eth0 interface up......NFS root ...DonePlease press Enter to activate this console.

8、哈哈,搞定,收工!


篇后語:

1、開發(fā)板和目標(biāo)系統(tǒng)一定要處于同一個(gè)局域網(wǎng)下。當(dāng)然,所謂同一個(gè)局域網(wǎng),可以是通過有線的網(wǎng)線連入同一個(gè)路由器,也可以是通過無線網(wǎng)卡連入同一個(gè)路由器。但是一定要保證二者的IP地址處于同一個(gè)網(wǎng)段,網(wǎng)關(guān)和掩碼也是一樣的。
2、nfs文件系統(tǒng)如果搭建于虛擬機(jī)下,則一定要將虛擬機(jī)的網(wǎng)絡(luò)模式設(shè)置為橋接模式,否則虛擬機(jī)將無法滿足上述第一點(diǎn)。

總結(jié)

以上是生活随笔為你收集整理的玩转mini2440开发板之【使用nfs无法启动的问题(Virtualbox桥接网络)】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。