ping通了,才順。
本文大部分整理了韋東山老師的相關教程,自己着重記錄了易忘部分,感謝韋老師!
目錄
一、Ping的設置流程
橋接模式(勾選複製狀態)+ 選擇對網卡(管理員身份打開虛擬網絡編輯器,根據具體情況選網卡,不能選自動);
設置開發板IP等參數。
注意:Windows中的WIFI網卡、有線網卡,它們2個IP的網段絕不能相同!
二、橋接和NAT區別
① 橋接模式:(非校園網使用)
在這種模式下,Windows主操作系統、VMWare上運行的Ubuntu操作系統,就相當於2臺獨立的電腦。
如果Windows需要拔號才能上網,那麼Ubuntu也需要拔號才能上網。但是一般來說學校、單位沒有Ubuntu下的拔號軟件。這時,Ubuntu想上網就不能使用橋接模式。
② NAT模式:(校園網使用)
VMWare上運行的Ubuntu操作系統,它對外訪問時,會使用Windows的IP,這稱爲共享主機Windows的IP。
在這種模式下,只要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 ubuntu的IP。
-
如果開發板正在運行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
- 在開發板上掛載Ubuntu的NFS文件系統
確保開發板可以ping通Ubuntu後,就可以通過NFS掛載Ubuntu中的某個目錄(查看Ubutnu的/etc/exports文件)。
假設Ubuntu的IP爲: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目錄中訪問該文件。