欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1304|回復: 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于開發(fā)板,PC機,以及l(fā)inux虛擬機通信的一些問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:729982 發(fā)表于 2024-3-21 17:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近遇到一個比較難調(diào)試的問題,想用一下linux的GNUdebug,但是弄了很久發(fā)現(xiàn),需要板子和電腦的linux虛擬機能通信才行,這直接給我掛掉了,我這電腦神經(jīng)兮兮的,虛擬機自從安裝好了,就從來沒ping通過,個人對網(wǎng)絡(luò)這塊也是一知半解,以前沒遇到問題就一直沒處理,這次自己查了很久很久的資料,發(fā)現(xiàn)別人的方法都不行,然后自己瞎倒騰一通,搞定了,但是不知道為啥,但是記錄一下,免得以后換電腦了搞不定環(huán)境。

我們工作中會遇到需要在linux上跑代碼的情況,工程需要在電腦的linux虛擬機下交叉編譯,然后將編譯好的代碼放到板子里的linux系統(tǒng)里運行。不管是通過共享文件夾和winscp來拖動復制文件,還是說將文件通過SD卡轉(zhuǎn)移,都是非常麻煩的。有一個辦法可以讓代碼直接電腦編譯好后就在板載的linux里跑,那就是掛載。將虛擬機的編譯目錄掛載到板子的linux里,板子再通過ssh進入此目錄后,直接就可以運行電腦編譯好的程序了。掛載的命令很簡單,網(wǎng)上很多辦法,此文章是記錄我解決的另一個問題,即板子->PC機->虛擬機的通信問題。畢竟掛載的前提就是能通信上。

第一步,板子和電腦通信,這個沒啥好說的,板子和電腦的以太網(wǎng)口的ip是同一個網(wǎng)段就ok

第二步,電腦ping通虛擬機,虛擬機ping通電腦。這一步比較復雜。首先電腦需要在主機的防火墻中,入站規(guī)則開通ICMPv4-in,不會的可以百度,覺得麻煩可以直接關(guān)防火墻(笑~)。重點來了,下面是我弄通這一步的過程
1.打開虛擬機->編輯->虛擬網(wǎng)絡(luò)編輯器,進去直接右下角還原默認設(shè)置,因為以前調(diào)的時候亂改過這個設(shè)置,我直接重置了重新調(diào)
重置后你這里的虛擬機的網(wǎng)絡(luò)設(shè)置,以及電腦控制面板中關(guān)于VMnet1和VMnet8的設(shè)置全部都會重置。
重點來了,打開電腦的網(wǎng)絡(luò)適配器。把VMnet設(shè)置成和板子同樣的網(wǎng)段里不同的ip,比如我板子是192.168.1.137,電腦以太網(wǎng)口是192.168.1.23,那我VMnet1設(shè)置成192.168.1.17
網(wǎng)上別人說要設(shè)VMnet8,但我試了不行。
2.打開虛擬網(wǎng)絡(luò)編輯器,里面重置以后會隨機給net1和net8分配子網(wǎng)地址,將net1的子網(wǎng)地址復制給net8,再將net1的子網(wǎng)地址改成你板子的網(wǎng)段,我的是192.168.1.0,如果巧合你的net1網(wǎng)段和你板子的一致,這一步跳過。
3.打開虛擬機的設(shè)置頁面,看看網(wǎng)絡(luò)適配器,改成nat模式
4.啟動虛擬機,ifconfig看看網(wǎng)絡(luò)地址,如果之前的設(shè)置都沒問題的話,里面會有一個網(wǎng)絡(luò)會自動分配到和你板子一個網(wǎng)段
可以看到他們是對應的,如此下來,虛擬機即可以ping通百度,又可以ping通PC機了,但是還不一定能ping通板子
5.打開電腦的網(wǎng)絡(luò)適配器選項,找到你電腦的以太網(wǎng)口,屬性--共享,將其共享給VMnet1,搞定

總結(jié),因為虛擬網(wǎng)絡(luò)編輯器里面那個VMnet1和VMnet8兩個的子網(wǎng)是不能一樣的,所以可以交替的嘗試一下,把其中一個的子網(wǎng)換成你板子的網(wǎng)段,其次就是虛擬機的網(wǎng)絡(luò)設(shè)置一定要是net模式,然后就是可以通過ipconfig看電腦的IP,ifconfig看虛擬機的IP,要保證電腦-虛擬機-板子不能有相同的IP,因為他們在同一個網(wǎng)段下。如果IP始終有問題,可以啟動虛擬機,進去網(wǎng)絡(luò)設(shè)置看看你是否曾經(jīng)手動設(shè)置過虛擬機的IP

現(xiàn)在我已經(jīng)把板子到虛擬機的通信終于調(diào)通了,后續(xù)關(guān)于掛載,和GNUdebug,都會繼續(xù)寫筆記
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2024-3-21 20:05 | 只看該作者
很好的經(jīng)驗。
回復

使用道具 舉報

板凳
ID:729982 發(fā)表于 2024-3-28 16:45 | 只看該作者
之前的經(jīng)驗有一些問題,這段時間又弄了一下,發(fā)現(xiàn)以前的方法配出來的網(wǎng)絡(luò)跟六脈神劍一樣時靈時不靈,下面做一個更正:
首先大家可以看看https://blog.csdn.net/m0_52318340/article/details/125004109
這篇博客中講了VMnet0、1、8虛擬網(wǎng)卡分別代表什么,怎么用。
總結(jié)就是想通過虛擬機連接訪問板子,已經(jīng)板子也要訪問虛擬機,只能用VMnet0橋接,VMnet8和1配出來板子都無法訪問虛擬機,而虛擬機可以ping板子。

下面說方法
1、VM虛擬網(wǎng)卡設(shè)置里,開啟三個網(wǎng)卡,分別設(shè)置橋接,nat,還有僅主機模式,VM0橋接,VM1僅主機,VM8 nat。然后重置
2、虛擬機設(shè)置里也要申請3個網(wǎng)絡(luò)配置,同樣對應三個虛擬網(wǎng)卡。然后橋接那個記得勾選復制物理連接
3、打開linux虛擬機,發(fā)現(xiàn)有三個網(wǎng)絡(luò)了,進入網(wǎng)絡(luò)設(shè)置,把所有的ip都勾選自動,刪掉手動ip,重啟網(wǎng)絡(luò)。通過ifconfig看這幾個網(wǎng)絡(luò)的ip,看網(wǎng)段分別對應哪個虛擬網(wǎng)卡,其中有ip的那兩個會對應1和8。另外一個VMnet0必須要手動設(shè)置ip的,所以沒有獲得ip的就是VMnet0,然后斷開VMnet1的連接。
4、打開電腦主機的網(wǎng)絡(luò)配置,把VMnet8設(shè)置一個手動的ip,和虛擬機里的VMnet8的那個連接必須是同一個網(wǎng)段的不同IP,這樣就實現(xiàn)了虛擬機通過主機訪問外網(wǎng),但是外網(wǎng)訪問不了虛擬機。
5、虛擬機里屬于VMnet0的那個網(wǎng)絡(luò)的IP設(shè)置成電腦以太網(wǎng)口的網(wǎng)段,根據(jù)我上面的帖子,板子IP為192.168.1.137,電腦以太網(wǎng)口的ip192.168.1.23,那么虛擬機這個對應VMnet0的網(wǎng)絡(luò)設(shè)置成192.168.1.12.如此下來板子和虛擬才能相互通信。
6、如果只開VMnet0也可實現(xiàn)外網(wǎng)訪問虛擬機,虛擬和板子相互訪問,那就是在第五條的基礎(chǔ)上,板子,電腦,路由器,交換機接到一起,這樣外網(wǎng)就可以通過這個以太網(wǎng)口訪問虛擬機了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表