Para configurar um ambiente emulado do software Raspberry Pi no OSX, será necessário:
- Uma ferramenta de compilação cruzada para a arquitetura de CPU do RPi. (por exemplo: ARM EABI Toolchain)
- O Kernel RPi.
- O sistema de arquivos raiz RPi.
- O emulador (QEMU).
- A Ferramenta de compilação cruzada para a arquitetura ARM.
Supondo que um já tenha as mais recentes ferramentas de linha de comando e Xcode da Apple Developer e homebrew instaladas, instale as dependências:
brew install mpfr gmp libmpc libelf texinfo
Pegue e compile a ferramenta:
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
A Compilação do Kernel RPi
mkdir ~/rpi/kernel
cd ~/rpi/kernel
git clone --depth=1 https://github.com/raspberrypi/linux.git
cd linux
Pegue o arquivo de configuração e configure o kernel:
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig
Salve a configuração e vamos construir o kernel posteriormente. Observe que a compilação deve falhar e reclamar de uma inclusão nos scripts / mod / mk_elfconfig. Se isso acontecer, é necessário criar o arquivo:
sudo touch /usr/local/include/elf.h
Edite-o e escreva o seguinte:
#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 siga o processo de construção:
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k
O arquivo de imagem é criado e localizado como arch/arm/boot/zImage
.
O Emulador
Devido a um erro de uma tela branca pendurada no QEMU, se compilado com o llvm, é necessário instalar o pacote apple-gcc42 no repositório dupes do homebrew.
brew install homebrew/dupes/apple-gcc42
E então compile e instale o qemu como:
brew install qemu —use-gcc
Agora resta tudo o que precisamos para iniciar a distribuição RPi, então vamos começar como:
qemu-system-arm -M versatilepb -cpu arm1176 -hda debian6-19-04-2012.img -kernel zImage -append “root=/dev/sda2” -serial stdio -usbdevice tablet
Conforme referido no site da mluis .