QEMU虚拟机1(虚拟树莓派3B)

1 起因

QEMU是一个虚拟机,有点类似以前的VMware或者VirtualBox。看现在DIY领域玩的挺多的,所以也跟风用一下吧。看介绍说性能比不上VMware,但是模拟的更深入,目前也不是很懂。

因为最近想学习Linux内核,还有就是裸片编程,虽然说树莓派不贵,但是用实体机有时候也挺麻烦。所以还是把虚拟机用起来。

2 Windwos下虚拟

最开始是想在Windows上跑起来的,装的是官网(QEMU)最新版的qemu。用的是2020版的image,内核是64位的kernel8.img,设备树是bcm2710-rpi-3-b.dtb。

跑之前要将image拉到4G。

qemu-img resize 2020-02-13-raspbian-buster.img 4G

创建了一个bat脚本,如下:

cd D:\Program Files\qemu  
qemu-system-aarch64.exe  -M raspi3b  -cpu cortex-a72  -append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1"  -dtb D:\learn\rp3_sim\bcm2710-rpi-3-b.dtb -drive format=raw,file=D:\learn\rp3_sim\2019-09-26-raspbian-buster-lite.img -kernel D:\learn\rp3_sim\kernel8.img  -m 1G -smp 4  -serial stdio  -usb -device usb-mouse -device usb-kbd  -device usb-net,netdev=net0  -netdev user,id=net0,hostfwd=tcp::5555-:22

可以运行起来。 

但是,windows下网络死活弄不通,找不到eth0。搞了好几天都没辙。。。

3 Ubuntu下虚拟

==============================20250112更新==============================

之前在windows下面是可以运行树莓派3B了,但是ssh死活连不上,用ifconfig查看了一下eth0也没有,在google上翻遍了都找不到答案,试了很多种参数也不行,所以没办法。网上的资料大部分qemu都是运行在ubuntu下的,只有换在ubuntu下面。这里又遇到问题,因为我的ubuntu云是20的版本,最大只能支持4.3(好像)的qemu,没法支持rasp3b的设备,升级也升不上去。后面打算自己编,又说glib必须要2.66,但是20的ubuntu只有2.64的。这样就死循环了,windows下网卡死活启动不起来,ubuntu下没法装。

最后没办法,把陪伴我一年多的整个云都升级成ubuntu24,这样才能运行。

折腾的欲仙欲死。。。

过程基本参照的这个文章:GitHub - KhalilOuali/Raspbian-Bullseye-with-QEMU: Emulating Raspbian Bullseye with QEMU (arm64, raspi3b) on Ubuntu 22.04 LTS

调用的命令是(其实和windows的基本一致):

qemu-system-aarch64 \
	-machine raspi3b \
	-cpu cortex-a72 \
	-smp 4 -m 1G \
	-kernel kernel.img \
	-dtb treeblob.dtb \
	-drive "file=bullseye.img,format=raw,index=0,if=sd" \
	-append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1" \
	-device usb-net,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22 \
	-nographic

虽然也遇到很多坑,还是相对比较顺利,起码第一次看到eth0了。

可以看到启动相当慢,很多服务甚至在登录后才启动(比windows下慢很多)。

ssh开始会有报错。

执行一下ssh-keygen -f '/home/ubuntu/.ssh/known_hosts' -R '[localhost]:5555'

网络也很顺利的就通了。

好了,终于搞定了,再也不用带着树莓派的板子到处跑了。。。

其实可以看到,Windows和Ubuntu下面启动的命令基本上是一致的,怀疑是驱动不够或者有些虚拟特性本身windows下有点问题。。。也许吧。。。

对了,Qemu还有个图形界面,看着方便很多。用着有点像VMware了。

sudo apt install virt-manager

virt-manager

4 参考

https://www.youtube.com/watch?v=DSv9bDkPzsw

Emulate Raspberry Pi 3 using QEMU in 64 bit | emulate-raspberry-pi3-in-qemu

https://zhuanlan.zhihu.com/p/452590356?utm_id=0

QEMU:一款通用且开源的机器与用户空间模拟器和虚拟化软件,虚拟机、容器、硬件模拟,它无所不能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值