Я следовал этому руководству, чтобы эмулировать RPI на OSX через VirtualBox, и он работает. Теперь я хотел бы немного упростить ситуацию, поскольку это решение включает запуск debian на виртуальной машине, чтобы просто запустить qemu поверх.
Я нашел руководство по настройке qemu прямо на osx и нашел руководство Мэтью Йи-Кинга . Я следовал инструкциям, и все, кажется, хорошо до последней части. При запуске qemu-system-arm
я вижу, что появляется окно QEMU, но приложение, кажется, зависает. Через некоторое время он отображается как не отвечающий в Activity Manager.
Что мне не хватает? Как мне эмулировать RPI на OSX с QEMU?
Ответы:
Для настройки эмулируемой среды программного обеспечения Raspberry Pi на OSX потребуется:
Предполагая, что на одном уже установлены последние Xcode и инструменты командной строки от Apple Developer и homebrew, следует установить зависимости:
Возьмите и скомпилируйте инструмент:
Компиляция ядра RPi
Возьмите файл конфигурации и настройте ядро:
Сохраните конфигурацию и давайте потом соберем ядро. Обратите внимание, что компиляция должна завершиться сбоем, и вы получите жалобу на включение в scripts / mod / mk_elfconfig. Если это так, нужно создать файл:
Отредактируйте его и напишите следующее:
и выполните процесс строительства:
Файл изображения создан и расположен как
arch/arm/boot/zImage
.Эмулятор
Из-за ошибки, связанной с зависанием белого экрана QEMU, если он скомпилирован с llvm, необходимо установить пакет apple-gcc42 из репозитория homebrew's dupes.
А затем скомпилируйте и установите qemu как:
Теперь у нас есть все, что нужно для запуска дистрибутива RPi, поэтому давайте начнем так:
Как указано на сайте Mluis .
источник
#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
до проблем. Кроме того, я узнал от Homebrew:apple-gcc42
«не компилируется и не работает должным образом на версиях MacOS, более новых, чем Mavericks, из-за несовместимости с вышестоящими версиями».Существует готовая к запуску платная опция, которая работает через QEMU:
https://snorfi.us/raspiemu/
Если вы не хотите платить за него, вы также можете скачать альфа-версию в
https://sourceforge.net/projects/raspberrypiemulator/
источник
Похоже, что шаг «настроить ядро» требует немного больше. Обратите внимание, что
должен быть один из файлов в этом каталоге, например
arm-none-eabi-ar
илиarm-none-eabi-as
т. д.источник