Per configurare un ambiente emulato del software Raspberry Pi su OSX è necessario:
- Uno strumento di compilazione incrociata per l'architettura della CPU di RPi. (es. ARM EABI Toolchain)
- Il kernel RPi.
- Il filesystem di root RPi.
- L'emulatore (QEMU).
- Lo strumento di compilazione incrociata per l'architettura ARM.
Supponendo che uno abbia già gli ultimi Xcode e gli strumenti da riga di comando di Apple Developer e homebrew installati, quindi dovrebbe installare le dipendenze:
brew install mpfr gmp libmpc libelf texinfo
Prendi e compila lo strumento:
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
La compilazione del kernel RPi
mkdir ~/rpi/kernel
cd ~/rpi/kernel
git clone --depth=1 https://github.com/raspberrypi/linux.git
cd linux
Prendi il file di configurazione e configura il kernel:
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig
Salvare la configurazione e compilare il kernel in seguito. Si noti che la compilazione dovrebbe fallire e lamentarsi di un'inclusione in script / mod / mk_elfconfig. In tal caso, è necessario creare il file:
sudo touch /usr/local/include/elf.h
Modificalo e scrivi quanto segue:
#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
e seguire il processo di costruzione:
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k
Il file di immagine viene creato e posizionato come arch/arm/boot/zImage
.
L'emulatore
A causa di un bug di uno schermo bianco che blocca QEMU se compilato con llvm, è necessario installare il pacchetto apple-gcc42 dal repository dups dell'homebrew.
brew install homebrew/dupes/apple-gcc42
E quindi compilare e installare qemu come:
brew install qemu —use-gcc
Ora ci resta tutto ciò di cui abbiamo bisogno per avviare la distribuzione RPi, quindi iniziamo come:
qemu-system-arm -M versatilepb -cpu arm1176 -hda debian6-19-04-2012.img -kernel zImage -append “root=/dev/sda2” -serial stdio -usbdevice tablet
Come riferito sul sito web di mluis .