嵌入式Linux開發_Ping來Ping去

ping通了,才順。

本文大部分整理了韋東山老師的相關教程,自己着重記錄了易忘部分,感謝韋老師!

目錄

一、Ping的設置流程

二、橋接和NAT區別

三、開發板不同階段設置IP

四、開發板直連PC

五、實在Ping不通_玄學問題

六、開發板通過NFS掛載Ubuntu的目錄


一、Ping的設置流程

橋接模式(勾選複製狀態)+ 選擇對網卡(管理員身份打開虛擬網絡編輯器,根據具體情況選網卡,不能選自動);

設置開發板IP等參數。

注意:Windows中的WIFI網卡、有線網卡,它們2IP的網段絕不能相同!

二、橋接和NAT區別

橋接模式:(非校園網使用)

在這種模式下,Windows主操作系統、VMWare上運行的Ubuntu操作系統,就相當於2臺獨立的電腦。

如果Windows需要拔號才能上網,那麼Ubuntu也需要拔號才能上網。但是一般來說學校、單位沒有Ubuntu下的拔號軟件。這時,Ubuntu想上網就不能使用橋接模式。

NAT模式:(校園網使用)

VMWare上運行的Ubuntu操作系統,它對外訪問時,會使用WindowsIP,這稱爲共享主機WindowsIP

在這種模式下,只要Windows能上網,Ubuntu就可以上網,Ubuntu的IP相關設置都爲自動。

但是這種模式下,開發板無法訪問Ubuntu,適合中途暫時聯網下載資料。

三、開發板不同階段設置IP

開發板運行UBOOT時、運行LINUX時,它們的IP需要分別設置,這兩個階段的IP沒有聯繫。這兩個階段不會同時運行,所以它們的IP可以相同。

如果開發板正在運行UBOOT,執行以下命令設置IP:

set ipaddr 192.168.1.123
save

注意:UBOOT不迴應PING數據,所以你是PING不通UBOOT的,只能在UBOOT去PING外邊的電腦。如果最後uboot代碼返回顯示alive”就表示通了。有時候Windows有防火牆導致PING不通,可以嘗試去PING ubuntuIP

  • 如果開發板正在運行LINUX,一般來說也不需要設置IP。如果有問題,比如執行ifconfig命令後無法查看到網卡的IP,你可以執行以下命令設置手工IP:

  • echo  “ifconfig   eth0  192.168.1.123”  >> /etc/init.d/rcSreboot

四、開發板直連PC

以下兩個階段都不好控制,所以,不要直連,中間加路由器或者HUB設備! 

如果電腦和開發板用網線直連,開發板上的程序,必須全程使能網卡:

a. 如果你要在開發板上玩UBOOT

原生UBOOT是個奇葩,它平時不使能網卡,只有在使用網絡命令那一小會,才使能網卡。

如果一定要直連,必須更換爲"全程使能網卡的UBOOT",一般情況下並沒有全程使能網卡。

b. 如果你要在開發板上玩LINUX:

這個LINUX必須有網卡驅動,必須配置了網卡,可以在開發板裏執行類似這樣的命令:

ifconfig eth0 192.168.1.123

五、實在Ping不通_玄學問題

問題:windows可以連外網,Ubuntu可以連外網,可以ping外網,但是windows和Ubuntu互ping不通。

過程:設置了一切,橋接+各方ip+防火牆關閉+Ubuntu重啓,無果。

解決:windows重啓,一切ok。

分析:可能是某些設置windows沒有及時生效。

防火牆問題:Windows的防火牆攔截,啓用這兩規則:(位於:防火牆的高級設置(安全高級windows Defender)-入站規則)

六、開發板通過NFS掛載Ubuntu的目錄

開發板上不一定安裝有FTP服務、SSH等服務,所以不一定能使用FTP等工具登錄開發板。

但是開發板的系統一般都自帶mount命令,並且支持NFS文件系統。所以可以在開發板上執行mount命令掛載ubuntu的某個目錄。這樣就可以在開發板和Ubuntu之間傳文件了。

開發板使用NFS掛載Ubuntu的前提Ubuntu中已經安裝了NFS服務,並且在/etc/exports中配置了某個目錄供掛載。

  • Ubuntu上安裝、配置NFS服務

如果你的Ubuntu未安裝NFS服務,那麼在確保Ubuntu可以上網的前提下,執行以下命令:

sudo apt-get install nfs-kernel-server

 然後,修改/etc/exports,添加類似以下的內容,下面的例子裏允許開發板通過NFS訪問Ubuntu/home/book/work兩個目錄:

/home/book   *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

/work         *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

 最後,重啓NFS服務,在Ubuntu上執行以下命令:

sudo /etc/init.d/nfs-kernel-server restart

可以在Ubuntu上通過NFS掛載自己,驗證一下NFS可用:

sudo mount -t nfs -o nolock, vers=3 127.0.0.1:/home/book /mnt
ls /mnt
  • 在開發板上掛載UbuntuNFS文件系統

確保開發板可以pingUbuntu後,就可以通過NFS掛載Ubuntu中的某個目錄(查看Ubutnu/etc/exports文件)。

假設UbuntuIP爲:192.168.1.100,在開發板上可以執行下面的命令掛載Ubuntu/home/book目錄到開發板的/mnt目錄:

 mount -t nfs -o nolock, vers=2 192.168.1.100:/home/book /mnt
 // 如果不成功,就把vers=2改爲vers=3或vers=4,因爲exports文件中不同版本的語法不一樣
 mount -t nfs -o nolock, vers=3 192.168.1.100:/home/book /mnt

如果一切正常,你可以在Ubuntu上把文件放到/home/book目錄中,在開發板上可以從/mnt目錄中訪問該文件。

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