Postępowałem zgodnie z tym przewodnikiem, aby emulować RPI na OSX przez VirtualBox i działa. Teraz chciałbym trochę uprościć, ponieważ to rozwiązanie wymaga uruchomienia debiana na maszynie wirtualnej, aby uruchomić qemu na nim.
Poszukałem przewodników po tym, jak ustawić qemu prosto na osxie i znalazłem przewodnik Matthew Yee-Kinga . Postępowałem zgodnie z instrukcjami i wszystko wydaje się w porządku do ostatniej części. Po uruchomieniu qemu-system-arm
widzę okno QEMU, ale aplikacja zawiesza się. Po chwili pojawia się w Menedżerze aktywności jako Nie odpowiada.
Czego mi brakuje ? Jak emulować RPI na OSX za pomocą QEMU?
Odpowiedzi:
Aby skonfigurować emulowane środowisko oprogramowania Raspberry Pi w OSX, potrzebne będą:
Zakładając, że masz już zainstalowane najnowsze Xcode i narzędzia wiersza poleceń od Apple Developer i homebrew, a następnie zainstaluj zależności:
Chwyć i skompiluj narzędzie:
Kompilacja jądra RPi
Chwyć plik konfiguracyjny i skonfiguruj jądro:
Zapisz konfigurację, a następnie zbudujmy jądro. Pamiętaj, że kompilacja powinna zakończyć się niepowodzeniem i narzekać na włączenie do skryptów / mod / mk_elfconfig. Jeśli tak, należy utworzyć plik:
Edytuj go i napisz:
i wykonaj proces budowania:
Plik obrazu zostanie utworzony i umieszczony jako
arch/arm/boot/zImage
.Emulator
Z powodu błędu białego ekranu zawieszającego QEMU, jeśli jest skompilowany z llvm, należy zainstalować pakiet apple-gcc42 z repozytorium duplikatów homebrew.
A następnie skompiluj i zainstaluj qemu:
Teraz pozostaje nam wszystko, czego potrzeba, aby rozpocząć dystrybucję RPi, więc zacznijmy od:
Jak wspomniano na stronie mluis .
źródło
#include <libelf/libelf.h> #define R_386_NONE 0 #define R_386_32 1 #define R_386_PC32 2 #define R_ARM_NONE 0 #define R_ARM_PC24 1 #define R_ARM_ABS32 2 #define R_MIPS_NONE 0 #define R_MIPS_16 1 #define R_MIPS_32 2 #define R_MIPS_REL32 3 #define R_MIPS_26 4 #define R_MIPS_HI16 5 #define R_MIPS_LO16 6 #define R_IA64_IMM64 7 #define R_PPC_ADDR32 8 #define R_PPC64_ADDR64 9 #define R_SH_DIR32 10 #define R_SPARC_64 11 #define R_X86_64_64 12 #define R_390_64 13 #define R_MIPS_64 14
make install-cross
przed trafieniem problemów. Dowiedziałem się też od Homebrew, żeapple-gcc42
„nie kompiluje się ani nie działa zgodnie z oczekiwaniami w wersjach macOS nowszych niż Mavericks z powodu niekompatybilności w górę”.Istnieje gotowa do uruchomienia płatna opcja działająca na QEMU:
https://snorfi.us/raspiemu/
Jeśli nie chcesz za to płacić, możesz również pobrać wersję alfa w
https://sourceforge.net/projects/raspberrypiemulator/
źródło
Wygląda na to, że krok „skonfiguruj jądro” wymaga nieco więcej. Zauważ, że
powinien być jeden z plików w tym katalogu, jak
arm-none-eabi-ar
iarm-none-eabi-as
etc ...źródło