今天晚上研究了一下如何通過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個字】.........
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),超時了。這就意味著,要么就是ubuntu系統(tǒng)的nfs沒有掛載成功,要么就是開發(fā)板沒有連入局域網(wǎng),要么就是ubuntu系統(tǒng)沒有連入局域網(wǎng)。于是一個一個來排查吧。
2、首先排查第一個問題,確認(rèn)一下ubuntu的nfs文件系統(tǒng)是否掛載成功了。這個問題,可直接參考我的另一篇博客(如何在ubuntu 12.04系統(tǒng)下開啟nfs網(wǎng)絡(luò)文件系統(tǒng))中提到的第5點。我確認(rèn)了我的系統(tǒng),沒有問題。
3、然后排查第二個問題,確認(rèn)一下mini2440開發(fā)板是否成功連入局域網(wǎng)。可參見我的另一篇博客(mini2440開發(fā)板linux系統(tǒng)下的網(wǎng)絡(luò)參數(shù)設(shè)置)中的第3點。我確認(rèn)了我的開發(fā)板,沒有問題。
4、上述兩個方面都驗證過了,都沒問題,那問題肯定就出在第3個方面了。也就是說,是ubuntu系統(tǒng)沒有連入到局域網(wǎng)中,導(dǎo)致開發(fā)板無法接入到nfs文件系統(tǒng)。換句話說,就是ubuntu系統(tǒng)和mini2440開發(fā)板并沒有處于同一個局域網(wǎng)中。
一開始我意識到這一點時,我還懷疑是不是因為我的筆記本沒有使用網(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地址配置有點關(guān)系。
因為我在這之前只是確認(rèn)了一下物理機(jī)的ip地址是192.168.100.108,然后就簡單的以為我的虛擬機(jī)也是這個ip地址,然后就把這個ip地址寫入到nfs的啟動參數(shù)中,配置給mini2440。但是,物理機(jī)和虛擬機(jī)的IP地址是不一樣的。我的nfs目錄是掛載在虛擬機(jī)ubuntu的系統(tǒng)下,而不是物理機(jī)win10的系統(tǒng)下。因此我需要獲取到虛擬機(jī)ubuntu系統(tǒng)的ip地址。可是此時在ubuntu系統(tǒng)下運行ifconfig命令時,得到的ip地址信息卻是127.0.0.1之類的信息。這顯然是不對的!而且,此時從虛擬機(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.0
inet6 地址: fe80::a00:27ff:feea:ba41/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 躍點數(shù):1
接收數(shù)據(jù)包:242 錯誤:0 丟棄:0 過載:0 幀數(shù):0
發(fā)送數(shù)據(jù)包:126 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 發(fā)送隊列長度: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.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 躍點數(shù):1
接收數(shù)據(jù)包:24 錯誤:0 丟棄:0 過載:0 幀數(shù):0
發(fā)送數(shù)據(jù)包:24 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 發(fā)送隊列長度:0
接收字節(jié):3519 (3.5 KB) 發(fā)送字節(jié):3519 (3.5 KB)
這就說明修改成功了。此時的虛擬機(jī)已經(jīng)跟物理機(jī)一樣并存于局域網(wǎng)中了,它的ip地址,就可以直接提供給mini2440使用了。
7、于是,將此時的虛擬機(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 argument
Try to bring eth0 interface up......NFS root ...Done
Please press Enter to activate this console.
8、哈哈,搞定,收工!
篇后語:
1、開發(fā)板和目標(biāo)系統(tǒng)一定要處于同一個局域網(wǎng)下。當(dāng)然,所謂同一個局域網(wǎng),可以是通過有線的網(wǎng)線連入同一個路由器,也可以是通過無線網(wǎng)卡連入同一個路由器。但是一定要保證二者的IP地址處于同一個網(wǎng)段,網(wǎng)關(guān)和掩碼也是一樣的。
2、nfs文件系統(tǒng)如果搭建于虛擬機(jī)下,則一定要將虛擬機(jī)的網(wǎng)絡(luò)模式設(shè)置為橋接模式,否則虛擬機(jī)將無法滿足上述第一點。
上一篇:一起學(xué)mini2440裸機(jī)開發(fā)(六)--UART原理與基礎(chǔ)實驗
下一篇:mini2440 sd卡加載過程詳解
推薦閱讀
史海拾趣
AAC公司的創(chuàng)立可以追溯到上世紀(jì)90年代初,當(dāng)時電子音響器件市場正迎來快速發(fā)展的機(jī)遇。AAC公司敏銳地捕捉到了這一市場趨勢,迅速行動,與德國投資者共同成立了中德合資常州威利來電子音響器件有限公司。這一合資舉措為AAC帶來了先進(jìn)的生產(chǎn)技術(shù)和管理經(jīng)驗,使其生產(chǎn)的訊響器和微型揚聲器迅速打開了德國市場的大門。這一成功的合資經(jīng)驗為AAC后續(xù)的發(fā)展奠定了堅實的基礎(chǔ)。
作為一家有社會責(zé)任感的企業(yè),Eurosil始終關(guān)注社會公益事業(yè)。公司積極參與各種公益活動,如捐贈教育設(shè)施、支持貧困地區(qū)發(fā)展等。通過這些活動,Eurosil不僅回饋了社會,也提升了企業(yè)的社會形象和品牌價值。同時,公司還鼓勵員工參與志愿服務(wù)活動,培養(yǎng)員工的公益意識和社會責(zé)任感。
隨著技術(shù)的不斷進(jìn)步,Antiference公司開始將目光投向國際市場。公司積極參與國際電子展,展示其先進(jìn)的電磁干擾抑制技術(shù),并成功吸引了眾多國外客戶的關(guān)注。通過與國外知名企業(yè)的合作,Antiference的產(chǎn)品逐漸打入國際市場,品牌知名度也大幅提升。
隨著電子行業(yè)的快速發(fā)展和變革,CAMBION公司也面臨著諸多挑戰(zhàn)。例如,新興技術(shù)的崛起使得市場競爭日益激烈,消費者對電子產(chǎn)品性能的要求也不斷提高。為了應(yīng)對這些變革,CAMBION公司不斷調(diào)整戰(zhàn)略,加大研發(fā)投入,推出了一系列具有競爭力的新產(chǎn)品。同時,公司還加強與上下游企業(yè)的合作,共同推動產(chǎn)業(yè)鏈的升級和發(fā)展。
在2015年,跨境銀行間支付清算有限責(zé)任公司(CIPS Co., Ltd.)正式成立,并隨之推出了人民幣跨境支付系統(tǒng)(CIPS)。這一系統(tǒng)的誕生,標(biāo)志著中國電子支付行業(yè)在跨境支付領(lǐng)域邁出了堅實的一步。CIPS系統(tǒng)的建立,不僅滿足了國內(nèi)外金融機(jī)構(gòu)對高效、安全、便捷的跨境支付服務(wù)的需求,更為人民幣國際化進(jìn)程提供了有力支持。
隨著CIPS系統(tǒng)的不斷發(fā)展壯大,其在行業(yè)內(nèi)的地位和影響力也逐漸提升。多家銀行和金融機(jī)構(gòu)因積極運用CIPS標(biāo)準(zhǔn)收發(fā)器推動跨境人民幣業(yè)務(wù)發(fā)展而榮獲獎項,這是對CIPS系統(tǒng)及其運營機(jī)構(gòu)的高度認(rèn)可。這些榮譽和獎項不僅彰顯了CIPS在行業(yè)內(nèi)的領(lǐng)先地位,也為其未來的發(fā)展奠定了堅實基礎(chǔ)。
“安防靠狗”的說法深有體會,家里那邊村子里,基本人人都有條狗,動不動就是藏獒、動不動就是黑背,搞得鄰里關(guān)系整得日益疏遠(yuǎn),誰也不想給狗當(dāng)午餐不是? 但不可否認(rèn)的是,農(nóng)村安防確實是一個非常大的市場,但是如果沒有國家實質(zhì)性投入的話,這 ...… 查看全部問答∨ |
|
小弟最近開始學(xué)習(xí)Ardence RTX,有很多不懂得地方,下面是一個基于serialAPI.h開發(fā)驅(qū)動的RTX通信串口測試程序。主線程是讀數(shù)據(jù),次線程是寫數(shù)據(jù)。經(jīng)過兩次測試: 1.在單臺計算機(jī)上用串口線連接COM1和COM2,并在RTX環(huán)境下將其打開,將下面次線程中寫 ...… 查看全部問答∨ |
|
請問各位大蝦,有熟悉lwip的嗎? 問個在inet.c文件中有個inet_chksum_pseudo()的函數(shù)相關(guān)問題。 函數(shù)原型如下: /* inet_chksum_pseudo: * * Calculates the pseudo Internet checksum used by TCP and UDP for a pbuf chain. */ u16_t inet_chksum_pseudo(struct pbuf *p, struct ip_addr *src, struct i ...… 查看全部問答∨ |
比如占空比為20%,pwm輸出管腳不能使用定時器,所以我用中斷定時時間來實現(xiàn)輸出,定時時間到置管腳高電平或者低電平,現(xiàn)在我想問的是:我的pwm的周期怎么定呢 … 查看全部問答∨ |
我的筆記本上本身帶有并口,并且安裝了打印程序,可以執(zhí)行打印任務(wù)。為了燒寫WINCE,我安裝了GIVEIO,安裝沒有抱錯,在設(shè)備管理器里 可以看到:端口(COM和LPT)->ECP打印機(jī)(LPT1),giveio(COM6). 應(yīng)該說,不會出現(xiàn)問題,可是當(dāng)我燒寫的時候,出現(xiàn) ...… 查看全部問答∨ |
@interrupt void TB_INIT(void){ PADR=0; return;}void main(void){ PADDR=0x0F; PAOR=0x0F; LTCSR=0x ...… 查看全部問答∨ |
學(xué)習(xí)心得:最近采用的鍵盤掃描,采用鍵反轉(zhuǎn)方法,大家可以貼出其他方法 #include "hw_memmap.h" // hw_memmap.h - Macros defining the memory map of Stellaris. #include "hw_types.h" // h ...… 查看全部問答∨ |
有誰給推薦幾款支持F28M35H52C1芯片的仿真器啊!下載速度稍快點的,性價比高的。國產(chǎn)的仿真器是不是還沒有能夠支持這款芯片的啊?… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計
- 小型傾轉(zhuǎn)旋翼機(jī)的無刷直流電機(jī)驅(qū)動器設(shè)計
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計
- 基于GPS自動授時的無線智能控制器的設(shè)計
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機(jī)載穩(wěn)定云臺控制系統(tǒng)的設(shè)計
- 匠芯創(chuàng)推出面向具身智能高性能實時處理器M7000
- AI PC時代,英特爾和微軟引領(lǐng)PC產(chǎn)業(yè)翻開Windows 11 AI+ PC新篇章!
- 意法半導(dǎo)體推出針對消費類和工業(yè)電源轉(zhuǎn)換器和電機(jī)控制器 優(yōu)化設(shè)計的GaN半橋驅(qū)動器
- 德州儀器TI發(fā)布全球最小MCU,微型空間內(nèi)實現(xiàn)智能化
- 瑞聲科技+創(chuàng)昇半導(dǎo)體,能否撬動智能座艙格局?
- 又一全固態(tài)電池產(chǎn)業(yè)項目簽約!
- 重大突破!兩大車企啟動全固態(tài)電池路測
- 全球固態(tài)電池現(xiàn)重大進(jìn)展!
- 比亞迪刀片電池領(lǐng)先通過新國標(biāo)檢測,安全性能獲權(quán)威認(rèn)證
- 一款國產(chǎn)車規(guī)智能隔離柵極驅(qū)動器得推薦
- 一文聊聊禾賽科技激光雷達(dá)技術(shù)
- 秀創(chuàng)意!免費試用LPC1114F 進(jìn)行中...
- 年終大沖關(guān)!第二期光榮榜活動震撼登場!
- 5G來襲 TE Connectivity 助你搶占消費電子市場先機(jī)
- 論壇有5只冰墩墩等你來贏:一起 DIY 冰墩墩!
- 造個車,一起駛向詩和遠(yuǎn)方!學(xué)習(xí) TI 汽車參考設(shè)計,參加技能小測試贏好禮!
- 【EEWORLD第二十六屆】2011年05月社區(qū)明星人物揭曉!
- 將想法變成現(xiàn)實,Maxim MAX32630FTHR創(chuàng)意設(shè)計大賽,重磅開啟!
- 暑期酷學(xué),專為在校生打造!!!
- 免費領(lǐng)取:基于i.MX RT1062的Teensy 4.1開發(fā)板,參考開源設(shè)計,DIY LCR表~