环境

编译
编译 aarch64
可选:开启O0,-g3调试信息
1 2 3 4 5 6 7 8 9 10 11
| wget https://download.qemu.org/qemu-10.2.0.tar.xz
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update
sudo apt-get install python3.9 python3-pip ninja-build python3.9 -m pip install --user tomli sphinx sphinx_rtd_theme
export PATH="$HOME/.local/bin:$PATH"
sudo apt-get install libglib2.0-dev pkg-config
|
编译glib
1 2 3 4 5 6 7 8 9 10 11 12
| python3.9 -m pip install --user meson ninja meson setup _build \ --prefix="$(pwd)/_install" \ --libdir=lib \ --buildtype=release \ -Ddefault_library=shared
ninja -C _build
ninja -C _build install
|
编译qemu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| export PKG_CONFIG_PATH="$HOME/tools/glib-2.72.4/_install/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$HOME/tools/glib-2.72.4/_install/lib:$LD_LIBRARY_PATH"
./configure \ --target-list=aarch64-softmmu \ --prefix=$(pwd)/_install \ --python=/usr/bin/python3.9 \ --extra-ldflags="-Wl,-rpath,$HOME/tools/glib-2.72.4/_install/lib"
./configure \ --target-list=aarch64-softmmu \ --extra-cflags="-O0 -g3" \ --prefix=$(pwd)/_install \ --python=/usr/bin/python3.9 \ --extra-ldflags="-Wl,-rpath,$HOME/tools/glib-2.72.4/_install/lib"
make -j$(nproc) make install
objdump -p _install/bin/qemu-system-aarch64 | grep RUNPATH
export PATH="$HOME/tools/qemu-10.2.0/bin:$PATH"
|
compile_command.json
编译会自动生成compile_command.json
1
| cp build/compile_command.json .
|
gdb 调试
qemu目录下有一个.gdbinit,在此目录下执行gdb会自动执行scripts/qemu-gdb.py这个脚本, 具体debug方法参考:
gdb使用,参考: