Um eine emulierte Umgebung der Raspberry Pi-Software unter OSX einzurichten, benötigen Sie:
- Ein Cross-Compiling-Tool für die CPU-Architektur von RPi. (zB ARM EABI Toolchain)
- Der RPi-Kernel.
- Das RPi-Root-Dateisystem.
- Der Emulator (QEMU).
- Das Cross-Compiling-Tool für die ARM-Architektur.
Vorausgesetzt, man hat bereits die neuesten Xcode- und Befehlszeilentools von Apple Developer und Homebrew installiert und sollte dann die Abhängigkeiten installieren:
brew install mpfr gmp libmpc libelf texinfo
Schnappen Sie sich das Tool und kompilieren Sie es:
mkdir ~/rpi
mkdir ~/rpi/arm-cs-tools
git clone https://github.com/jsnyder/arm-eabi-toolchain.git
cd arm-eabi-toolchain
PREFIX=$HOME/rpi/arm-cs-tools make install-cross
make clean
echo “export PATH=$HOME/rpi/arm-cs-tools/bin:$PATH” » ~/.bash_profile
Die RPi Kernel Compilation
mkdir ~/rpi/kernel
cd ~/rpi/kernel
git clone --depth=1 https://github.com/raspberrypi/linux.git
cd linux
Besorgen Sie sich die Konfigurationsdatei und konfigurieren Sie den Kernel:
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig
Speichern Sie die Konfiguration und erstellen Sie anschließend den Kernel. Beachten Sie, dass die Kompilierung fehlschlagen und sich über die Aufnahme in scripts / mod / mk_elfconfig beschweren sollte. In diesem Fall muss die Datei erstellt werden:
sudo touch /usr/local/include/elf.h
Bearbeiten Sie es und schreiben Sie Folgendes:
#include <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
und folgen Sie dem Bauprozess:
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k
Die Bilddatei wird erstellt und befindet sich als arch/arm/boot/zImage
.
Der Emulator
Aufgrund des Fehlers eines weißen Bildschirms, der QEMU aufhängt, muss bei der Kompilierung mit llvm das Paket apple-gcc42 aus dem Dupes-Repository des Homebrews installiert werden.
brew install homebrew/dupes/apple-gcc42
Und dann kompiliere und installiere qemu wie folgt:
brew install qemu —use-gcc
Jetzt haben wir alles übrig, was wir brauchen, um die RPi-Distribution zu starten. Beginnen wir also wie folgt:
qemu-system-arm -M versatilepb -cpu arm1176 -hda debian6-19-04-2012.img -kernel zImage -append “root=/dev/sda2” -serial stdio -usbdevice tablet
Wie auf der mluis- Website angegeben .