在Win10下用Qemu模擬器模擬或虛擬樹莓派,包括4B | 您所在的位置:網(wǎng)站首頁 › 屬狗的人性格和脾氣 › 在Win10下用Qemu模擬器模擬或虛擬樹莓派,包括4B |
在Win10下用Qemu模擬器模擬或虛擬樹莓派,包括4B 123? ?為什么要用Qemu模擬樹莓派,因為模擬出來后,可以帶著到處走,U盤一拷,有電腦的地方就可以調(diào)試。調(diào)試出了問題,想重新來過,只要把之前的副本復(fù)制過去就可以了。等一切弄好后,再寫入SD,進(jìn)行實機(jī)測試,使用。這樣避免了帶著樹莓派跑來跑去,調(diào)試錯了,反復(fù)撥卡、寫卡、設(shè)置、插卡等作。為什么要用Qemu模擬擬樹莓派,官網(wǎng)不是有VMware等虛擬機(jī)版的桌面版了么?因為桌面版就一個,更新也不及時,用Qemu,可虛擬任何版本的樹莓派系統(tǒng),如Ubuntu樹莓派版,等等。這是因為桌面版是虛擬系統(tǒng),只支持X86電腦,Qemu虛擬的是硬件本身,支持的是ARM指令,凡硬件能裝的系統(tǒng),Qemu就能模擬擬使用。 ? ? 我的系統(tǒng)是2019年的windows 10,使用的鏡像是2020年6月1日可在樹莓派官網(wǎng)下載的各種鏡像。 ? ? 在Qemu官網(wǎng)下載最新的4.2版Qemu,地址:https://www.qemu.org/download/下載Qemu kernel for emulating Rpi on QEMU,https://github.com/dhruvvyas90/qemu-rpi-kernel 這里有不同版本,可下載最新版,我下載的是:kernel-qemu-4.19.50-buster ,下載網(wǎng)址:https://github.com/dhruvvyas90/qemu-rpi-kernel/blob/master/kernel-qemu-4.19.50-buster 在樹莓派官網(wǎng)下載你喜歡的鏡像。我下載的是2020-05-27-raspios-buster 安裝Qemu,其實是解壓,放到一個文件夾里,我的是Qemu文件夾。再解壓qemu-rpi-kernel-master.zip,針對我的kernel-qemu-4.19.50-buster鏡像,我找了其中的兩個文件:kernel-qemu-4.19.50-buster、versatile-pb-buster.dtb。該用哪些文件,可查看README.md文件,直接用文本打開就行。 為方便,把kernel-qemu-4.19.50-buster、versatile-pb-buster.dtb和2020-05-27-raspios-buster鏡像文件都一起放到安裝Qemu 時解壓出來的Qemu文件夾。你也可以放其它地方,但在調(diào)用它們時,記得加上地址。 按win+R,運行,輸入cmd,打開命令提示符。進(jìn)入上面的Qemu文件夾,輸入以下命令(中間不換行): qemu-system-arm -kernel kernel-qemu-4.19.50-buster -cpu arm1176 -m 256 -M versatilepb -dtb versatile-pb-buster.dtb -no-reboot -append “root=/dev/sda2 panic=1 rootfstype=ext4 rw” -net nic -net user,hostfwd=tcp::5022-:22 -hda 2020-05-27-raspios-buster-armhf.img 就可以啟動樹莓派了,后面的作就跟實機(jī)作一樣了。 現(xiàn)在解釋一下上面的命令: -kernel kernel-qemu-4.19.50-buster #內(nèi)核文件用的是kernel-qemu-4.19.50-buster文件,qemu-rpi-kernel-master.zip解壓出來后,挑出來的文件,沒有擴(kuò)展名。如果文件不在QEMU文件夾,要加上地址。 -cpu arm1176 #CPU用的是arm1176 -m 256 #內(nèi)存是256M,有點偏小,但實際仿真,感覺沒影響。據(jù)https://github.com/dhruvvyas90/qemu-rpi-kernel/wiki 解釋,是因為versatilepb上有個bug,不允許大于256M。 -M versatilepb #用的開發(fā)板是versatilepb,可以用qemu-system-arm -M help命令來查看支持的arm開發(fā)板。用qemu-system-arm -M versatilepb -cpu help查看versatilepb開發(fā)板所用的CPU型號。樹莓派用的型號是ARM 1176。 -dtb versatile-pb-buster.dtb #dtb文件是versatile-pb-buster.dtb,qemu-rpi-kernel-master.zip解壓出來后,挑出來的文件,沒有擴(kuò)展名。如果文件不在QEMU文件夾,要加上地址。 -append “root=/dev/sda2 panic=1 rootfstype=ext4 rw” #內(nèi)核的命令行 -drive “file=2020-05-27-raspios-buster-armhf.img,index=0,media=disk,format=raw” #掛載的驅(qū)動器鏡像,我這里用的是:2020-05-27-raspios-buster-armhf.img,如果你的是其它文件,請改名,如果在其它文件夾,請加上地址。 -hda 2020-05-27-raspios-buster-armhf.img #也可用這種方式掛載鏡像文件,但運行時會出來個警告。警告如下: “Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the ‘raw’ format explicitly to remove the restrictions. vpb_sic_write: Bad register offset 0x2c“ 用以上設(shè)置就可以正常啟動了,剩下的只是有需要地進(jìn)行設(shè)置。 -serial stdio #串口調(diào)試,加上這個后,會多一個串口調(diào)試窗口。 網(wǎng)絡(luò)設(shè)置幾種,大家可按QEMU手冊設(shè)置。我試過兩種,一種是NAT方式,可以上網(wǎng),但不能跟主機(jī)通信,也就是在主機(jī)上無法ping或SSH虛擬機(jī),其設(shè)置參數(shù)是: -net nic -net user,hostfwd=tcp::5022-:22 另一種是橋接方式,按QEMU手冊上的(中文網(wǎng)址:“https://wiki.archlinux.org/index.php/QEMU_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)” ),是:-net nic,model=virtio -net tap,ifname=TAP2,script=no,downscript=no 其實:只用“-net nic -net tap,ifname=TAP2”也沒問題。 其中,ifname= TAP2的TAP2,我用的是虛擬網(wǎng)卡,把他重命名為TAP2或其他名字(注意區(qū)分大小寫)。安裝虛擬網(wǎng)卡如下: 右擊“此電腦”,打“屬性”、”設(shè)備管理器“,點開”作“,點”添加過時硬件“,會出來個”添加硬件“窗口。 按下一步, 選“安裝我手動從列表選擇的硬件(高級)(M)“,下一步: 選“網(wǎng)絡(luò)適配器“,下一步。 在“添加硬件“窗口中,左邊廠商選”TAP-Win32 Provider V9”,右邊只一個”TAP-Win32 Adapter V9”,選中后,點下一步: 繼續(xù)點下一步,完成。 這時,右擊右下角網(wǎng)絡(luò)圖標(biāo),點“打開‘網(wǎng)絡(luò)和internet’設(shè)置”,左邊欄點選狀態(tài),右邊欄點“更改網(wǎng)絡(luò)設(shè)置”下面的“更改適配器選項”。 就會出來一個“網(wǎng)絡(luò)連接”,剛才建的虛擬網(wǎng)卡就是“以太網(wǎng)”(TAP-Win32 Adapter V9 #2)#2是因為我之前建了一個,現(xiàn)在是第2個。狀態(tài)為網(wǎng)絡(luò)電纜被拔出,因為這個虛擬網(wǎng)卡還未綁定。先重命名“以太網(wǎng)”為“TAP2”。右擊“以太網(wǎng)”,選“重命名”,我這重命名為“TAP2”,上面橋接網(wǎng)卡的參數(shù)就為:ifname= TAP2。 現(xiàn)在開始綁定,也就是開通“以太網(wǎng)”。右擊電腦網(wǎng)卡,我上網(wǎng)的是”WLAN“,選”屬性“ 選“共享“,在”家庭網(wǎng)絡(luò)連接“下拉框中,會列出網(wǎng)絡(luò)連接上的所有網(wǎng)絡(luò),選剛添加的虛擬網(wǎng)卡,我的是“TAP2”。 這樣,橋接網(wǎng)絡(luò)就搭好了。如果你查看這個網(wǎng)絡(luò)的IP地址,是192.168.137.1,這是windows共享網(wǎng)絡(luò)自動設(shè)定的地址。 在命令輸入符的QEMU文件夾下,輸入: qemu-system-arm -kernel kernel-qemu-4.19.50-buster -cpu arm1176 -m 256 -M versatilepb -dtb versatile-pb-buster.dtb -append “root=/dev/sda2 panic=1 rootfstype=ext4 rw” -drive “file=2020-05-27-raspios-buster-armhf.img,index=0,media=disk,format=raw” -net nic -net tap,ifname=TAP2 啟動的樹莓派就是橋接網(wǎng)絡(luò),進(jìn)入后,可發(fā)現(xiàn)地址是:192.168.137.X。 這時,你就可用putty等ssh工具用該地址進(jìn)行連接。 |
今日新聞 |
推薦新聞 |
專題文章 |
CopyRight 2018-2019 實驗室設(shè)備網(wǎng) 版權(quán)所有 |