To set up an emulated environment of the Raspberry Pi software on OSX one will need:
Grab and compile the tool:
Grab the config file and configure the kernel:
Save the configuration and let’s build the kernel afterwards. Note that the compilation should fail and complain about an <elf.h> inclusion in scripts/mod/mk_elfconfig. If it does, one must create the file:
Edit it and write the following:
and follow through the building process:
The image file is created and located as arch/arm/boot/zImage.
And then compile and install qemu like:
Now we’re left with all we need to start the RPi distribution so let’s start it like:
and...

Happy hacking kids!
- A Cross-Compiling Tool for the CPU architecture of RPi. ( eg. ARM EABI Toolchain )
- The RPi Kernel.
- The RPi root filesystem.
- The Emulator (QEMU).
- The Cross-Compiling Tool for the ARM architecture.
brew install mpfr gmp libmpc libelf texinfo
Grab and compile the tool:
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
- The RPi Kernel Compilation
mkdir ~/rpi/kernel cd ~/rpi/kernel git clone https://github.com/raspberrypi/linux.git cd linux
Grab the config file and configure the kernel:
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig
Save the configuration and let’s build the kernel afterwards. Note that the compilation should fail and complain about an <elf.h> inclusion in scripts/mod/mk_elfconfig. If it does, one must create the file:
sudo touch /usr/local/include/elf.h
Edit it and write the following:
#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
and follow through the building process:
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k
The image file is created and located as arch/arm/boot/zImage.
- The Emulator
brew install homebrew/dupes/apple-gcc42
And then compile and install qemu like:
brew install qemu —use-gcc
Now we’re left with all we need to start the RPi distribution so let’s start it like:
qemu-system-arm -M versatilepb -cpu arm1176 -hda debian6-19-04-2012.img -kernel zImage -append “root=/dev/sda2” -serial stdio -usbdevice tablet
and...

Happy hacking kids!
Sign In
Create Account









