iphone模拟器 build & run
重磅推出iphone模拟器, 可以模拟运行iphone, 项目地址:
https://github.com/ChefKissInc/QEMUAppleSilicon
该模拟器本质上是qemu模拟器, 接下来我将教大家如何准备构建环境, 以及如何构建该模拟器和运行该模拟器
搭建构建环境
本人使用ubuntu24来搭建构建环境, 项目支持mac和windows的环境来构建, 其他构建环境自己去尝试.
首先安装基础的包
sudo apt-get install -y build-essential libtool meson ninja-build pkg-config libcapstone-dev \
device-tree-compiler libglib2.0-dev gnutls-bin libjpeg-turbo8-dev libpng-dev libslirp-dev \
libssh-dev libusb-1.0-0-dev liblzo2-dev libncurses5-dev libpixman-1-dev libsnappy-dev vde2 \
zstd libgnutls28-dev libgmp10 libgmp3-dev lzfse liblzfse-dev libgtk-3-dev libsdl2-dev
然后手动下载并编译nettle-3.10.1, 这个包要手动编译安装, 如果用apt-get install nettle-dev安装, 后面编译时候会出现问题
wget https://ftp.gnu.org/gnu/nettle/nettle-3.10.1.tar.gz
tar -xvf nettle-3.10.1.tar.gz
cd nettle-3.10.1
./configure
make -j$(nproc)
sudo make install
安装好后还要配置下PKG_CONFIG_PATH, 否则后面编译的时候会找不到这个包
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH
下载项目
git clone https://github.com/ChefKissInc/QEMUAppleSilicon
git submodule update --init
编译
mkdir build && cd build
../configure --target-list=aarch64-softmmu,x86_64-softmmu --enable-lzfse --enable-slirp --enable-capstone \
--enable-curses --enable-libssh --enable-virtfs --enable-zstd --enable-nettle --enable-gnutls --enable-gtk \
--enable-sdl --disable-werror
make -j$(nproc)
编译成功后, build目录下会出现qemu-system-aarch64和qemu-img文件, 这两个文件就是后面运行要用到的文件
准备运行环境
安装python包pyasn1和pyasn1-modules
sudo apt-get install python3-pyasn1 python3-pyasn1-modules
制作运行时用到的磁盘
./QEMUAppleSilicon/b