Raspberry Pi OS
The popular Raspberry Pi (Wikipedia) is often used with a tuned Linux distribution: Raspberry Pi OS (formerly Raspbian), which is based on Debian Linux.
QEMU
The system emulator QEMU provides machine profiles for a selection of Raspberry Pi models:
The 32-bit ARM models, ARMv6 & ARMv7:
$ qemu-system-arm -machine help | grep rasp raspi0 Raspberry Pi Zero (revision 1.2) raspi1ap Raspberry Pi A+ (revision 1.1) raspi2 Raspberry Pi 2B (revision 1.1) (alias of raspi2b) raspi2b Raspberry Pi 2B (revision 1.1)
The 64-bit ARM models, ARMv8:
$ qemu-system-aarch64 -machine help | grep rasp raspi0 Raspberry Pi Zero (revision 1.2) raspi1ap Raspberry Pi A+ (revision 1.1) raspi2 Raspberry Pi 2B (revision 1.1) (alias of raspi2b) raspi2b Raspberry Pi 2B (revision 1.1) raspi3ap Raspberry Pi 3A+ (revision 1.0) raspi3 Raspberry Pi 3B (revision 1.2) (alias of raspi3b) raspi3b Raspberry Pi 3B (revision 1.2)
The 64-bit emulation presumably includes the 32-bit models in order to allow for hypothetical upgraded versions of these systems by swapping the ARM processor core. This also provides support for the revisions of the Raspberry Pi 2B, the original board used a BCM2836 SoC with a 32-bit ARM v7 processor, but later versions of the 2B board used a BCM2837 with a 64-bit ARM v8 processor.
These options cover three processors:
- Broadcom BCM2835 SoC in the Zero and A+
- ARM1176JZF-S @ 700 Mhz core, 32-bit ARMv6
- Broadcom BCM2836 SoC in the 2B
- ARM Cortex-A7 @ 900 MHz, quad-core, 32-bit ARMv7
- Broadcom BCM2837 SoC in the 3A+ and 3B
- ARM Cortex-A53 @ 1.2 GHz or 1.4 GHz, quad-core, 64-bit ARMv8
That is three generations of the ARM architecture and coverage of the older models.