OSXでRaspberry Piソフトウェアのエミュレートされた環境をセットアップするには、次のものが必要です。
- RPiのCPUアーキテクチャ用のクロスコンパイルツール。(例:ARM EABIツールチェーン)
- RPiカーネル。
- RPiルートファイルシステム。
- エミュレーター(QEMU)。
- ARMアーキテクチャ用のクロスコンパイルツール。
Apple Developerとhomebrewの最新のXcodeとコマンドラインツールが既にインストールされている場合、依存関係をインストールする必要があります。
brew install mpfr gmp libmpc libelf texinfo
ツールを取得してコンパイルします。
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
RPiカーネルのコンパイル
mkdir ~/rpi/kernel
cd ~/rpi/kernel
git clone --depth=1 https://github.com/raspberrypi/linux.git
cd linux
構成ファイルを取得して、カーネルを構成します。
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig
構成を保存し、その後カーネルをビルドしましょう。コンパイルが失敗し、scripts / mod / mk_elfconfigに含まれていると文句を言うことに注意してください。存在する場合、ファイルを作成する必要があります。
sudo touch /usr/local/include/elf.h
それを編集して、次のように書きます。
#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
構築プロセスを実行します。
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k
イメージファイルが作成され、として保存されarch/arm/boot/zImage
ます。
エミュレーター
llvmでコンパイルした場合、QEMUがハングする白い画面のバグのため、homebrewのdupesリポジトリからapple-gcc42パッケージをインストールする必要があります。
brew install homebrew/dupes/apple-gcc42
そして、次のようにqemuをコンパイルしてインストールします。
brew install qemu —use-gcc
これで、RPi配布を開始するために必要なすべてが残ったので、次のように開始しましょう。
qemu-system-arm -M versatilepb -cpu arm1176 -hda debian6-19-04-2012.img -kernel zImage -append “root=/dev/sda2” -serial stdio -usbdevice tablet
mluisのWebサイトで言及されているとおり。