Valid arm32 Raspberry Pi emulator

Címkék

Pár hobbi projektem cross-platform, azaz Linuxon, Windowson, macOS-en + Raspberry Pi-n is fut. Szerettem volna egy olyan virtuális gépet csinálni, ami (mondjuk Linuxon) emulál egy Raspberry Pi-t a maga Arm8/Arm32-es processzorával.

Sok helyen láttam, hogy van RaspbianOS telepítővel, ami elindul egy Ubuntu-n, a desktop Raspberry Pi-s lesz, de a CPU benne természetesen x86/x64, ha azon fut az Ubuntu.

Csináltam egy kis környezetet, ami egy Docker konténerben 1x fordít egy Aarch kernel+dtb+image kombót, ami egy qemu-aarch64 futtatni tud: https://github.com/BCsabaEngine/QemuRpiRunner

Az eredmény: parancssorban indítható és leállítható Raspberry Pi (sudo shutdown now), amibe be is lehet SSH-zni és az "uname -a" azt mondja, hogy "Linux raspberrypi 5.10.63-v8+ #1 SMP PREEMPT aarch64 GNU/Linux". Az apt dist-upgrade is szépen lefut, pont mint egy barebone RPi. Az ezen futtatott vagy build-elt alkalmazások másik RPI-n el fognak indulni.

PS: a téma csak azoknak szól, akik értik is ami fent le van írva. Aki Kodi-t tesz az Rpi4-re, annak ez a git repo nem kell! :)

Hozzászólások

Ez tök jó!

Engedelmeddel forkolom és írok hozzá egy Packer configot, hogy legyen belőle "dobozos" VirtualBox, VMware stb template build is.

Nagyon jó, csak egy kérdés: ha már úgyis Docker, ez nem felelne meg a helyben fordított QEmu helyett?

https://hub.docker.com/r/multiarch/qemu-user-static

https://github.com/multiarch/qemu-user-static/releases/

Ha egyedül vagyok egy szobában, akkor ember vagyok. Ha bejön egy kormánypárti, akkor ellenzéki lettem. És annyira vagyok ellenzéki, amennyire kormánypárti az, aki bejött a szobába.

És beküldenél erről egy issuet? Hátha kiderülne, hogy ennek már van ismertebb, elfogadottabb megoldása.

Ha egyedül vagyok egy szobában, akkor ember vagyok. Ha bejön egy kormánypárti, akkor ellenzéki lettem. És annyira vagyok ellenzéki, amennyire kormánypárti az, aki bejött a szobába.

A docker arra kell hogy egy teljes forditokornyezet miatt (amit 1x hasznalsz) ne legyen teleszemetelve a gep. Dockerben futast mar soknak tartanam, kiprobaltam, szerintem erezhetoen lassu. A jelzett megoldas ugyanakkor ugyanolyan jo, 6.1.x-es qemu kell a futashoz.

Van aki vim-et hasznal, van aki mcedit-et.