5 ms·
I think it's worth noting that this isn't actually emulating a Raspberry Pi. The option "-M versatilepb" to QEMU tells it to emulate a VersatilePB, which is an
by pm215 9y ago
I think it's worth noting that this isn't actually emulating a Raspberry Pi. The option "-M versatilepb" to QEMU tells it to emulate a VersatilePB, which is an Arm development board that's now a decade or more old. It happens that this can be set up to use an ARM1176 CPU, which is the same as the one in the RPi. So you can run a kernel built for the VersatilePB on a VersatilePB model, and use the same userspace/filesystem as the RPi, provided that your userspace doesn't rely on any particular characteristics of the rpi hardware beyond the CPU type. Luckily for most uses that's close enough...
- moyix 9y agoAlso (and I know you know this, pm215) you can actually emulate a Raspberry Pi 2 machine (i.e. the bcm2836 SoC) in recent versions of QEMU with the "raspi2" machine type. There are instructions that worked for me here: https://raspberrypi.stackexchange.com/a/71172 https://raspberrypi.stackexchange.com/a/71172
- thisacctforreal 9y agoAny idea of a raspi3 machine type in the works? or where to contribute to one? It has a BCM2837, which has a 64-bit ARM CPU Core, and 400MHz VideoCore IV versus 250MHz in the raspi2. A comparison table can be found by searching "What is new" in https://media.digikey.com/pdf/Data%20Sheets/Seeed%20Technology/Raspberry_Pi_3_Model_B_WikiWeb.pdf https://media.digikey.com/pdf/Data%20Sheets/Seeed%20Technolo...
- moyix 9y agoI don't know, but a quick google search finds: https://github.com/bztsrc/qemu-raspi3 https://github.com/bztsrc/qemu-raspi3
- stuaxo 9y agoI never got this working myself, do you get 4 cores that run the native cores ? Running raspbian in Qemu seems slower than running on a real Pi, multicore would definitely help.
- moyix 9y agoLast I checked, QEMU does not run multiple cores concurrently. Similar to Python, it has a big lock that serializes execution (known as the "Big QEMU Lock", or BQL). So you should not expect speedups... However, there is an effort to change this: https://lwn.net/Articles/697265/ https://lwn.net/Articles/697265/ But I don't know if it has been merged yet.
- pm215 9y agoYeah, that has hit upstream now. It needs support in both the frontend and the backend so only some host/guest combos will enable it, but arm-on-x86 should now multithread by default for smp guests.
- deleted 9y ago[deleted]
- FigBug 9y agoDo you know which RPis used this CPU? Just the original? I'm looking for a way of emulating a RPi2/3 so I can run the arm version of Ubuntu Mate. Any idea if a method like this will work for me?
- revelation 9y agoOnly the original, and the Zero(W). RPi2/3 use ARMv7 and ARMv8 cores, much more mainstream so easier to simulate.
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]