Build QEMU environments

Build QEMU 安裝所需的套件: sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex xinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev git libncurses5-dev libpixman-1-dev 下載 QEMU source codes: git clone --recursive [email protected]:qemu/qemu.git cd qemu ./configure --target-list=riscv64-softmmu,riscv32-softmmu,riscv64-linux-user,riscv32-linux-user make -j 幾個好用的 debug configure 參數: --extra-cflags=CFLAGS:append extra C compiler flags QEMU_CFLAGS e.g. --extra-cflags="-g3 --save-temps" --extra-ldflags=LDFLAGS:append extra linker flags LDFLAGS --enable-debug-tcg:enable TCG debugging --disable-debug-tcg:disable TCG debugging (default) --disable-debug-info:disable debugging information --enable-debug:enable common debug build options --disable-strip:disable stripping binaries --disable-werror:disable compilation abort on warning --enable-pie:build Position Independent Executables --disable-pie:do not build Position Independent Executables 幾個好用的執行參數: -d item1,...:enable logging of specified items ...

2020/01/25 · 7 分鐘 · 1477 字 · Frank Chang

Cross-build RISC-V QEMU

在 x86-64 上 cross-build RISC-V QEMU OS 為 Ubuntu 22.04 dpkg 加入 RISC-V 架構: sudo dpkg --add-architecture riscv64 新增 RISC-V package sources: sudo vim /etc/apt/sources.list 新增以下 RISC-V sources: 1 2 3 deb [arch=riscv64] http://ports.ubuntu.com jammy main restricted universe multiverse deb [arch=riscv64] http://ports.ubuntu.com jammy-updates main restricted universe multiverse deb [arch=riscv64] http://ports.ubuntu.com jammy-security main restricted universe multiverse 並限制以下的 sources 為 amd64 (加上:[arch=amd64]): ...

2020/01/26 · 2 分鐘 · 231 字 · Frank Chang