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의 웹 사이트 에서 참조하십시오 .