qemu本地编译

发布时间 2023-10-02 21:02:42作者: BurYiA
  • 相关地址

    1. https://www.qemu.org/download/
    2. https://gitlab.com/qemu-project/qemu
  • 编译过程

    1. 首先自行下载源码

    2. 安装编译环境

      apt-get install --no-install-recommends -y  bash  bc  bison  bsdextrautils  bzip2  ca-certificates  ccache  clang  dbus  debianutils  diffutils  exuberant-ctags  findutils  flex  g++  gcc  gcovr  gettext  git  hostname  libaio-dev  libasan6  libasound2-dev  libattr1-dev  libbpf-dev  libbrlapi-dev  libbz2-dev  libc6-dev  libcacard-dev  libcap-ng-dev  libcapstone-dev  libcmocka-dev  libcurl4-gnutls-dev  libdaxctl-dev  libdrm-dev  libepoxy-dev  libfdt-dev  libffi-dev  libfuse3-dev  libgbm-dev  libgcrypt20-dev  libglib2.0-dev  libglusterfs-dev  libgnutls28-dev  libgtk-3-dev  libibumad-dev  libibverbs-dev  libiscsi-dev  libjemalloc-dev  libjpeg-turbo8-dev  libjson-c-dev  liblttng-ust-dev  liblzo2-dev  libncursesw5-dev  libnfs-dev  libnuma-dev  libpam0g-dev  libpcre2-dev  libpipewire-0.3-dev  libpixman-1-dev  libpmem-dev  libpng-dev  libpulse-dev  librbd-dev  librdmacm-dev  libsasl2-dev  libsdl2-dev  libsdl2-image-dev  libseccomp-dev  libselinux1-dev  libslirp-dev  libsnappy-dev  libsndio-dev  libspice-protocol-dev  libspice-server-dev  libssh-dev  libsystemd-dev  libtasn1-6-dev  libubsan1  libudev-dev  liburing-dev  libusb-1.0-0-dev  libusbredirhost-dev  libvdeplug-dev  libvirglrenderer-dev  libvte-2.91-dev  libxen-dev  libzstd-dev  llvm  locales  make  meson  mtools  multipath-tools  ncat  nettle-dev  ninja-build  openssh-client  pkgconf  python3  python3-numpy  python3-opencv  python3-pillow  python3-pip  python3-sphinx  python3-sphinx-rtd-theme  python3-tomli  python3-venv  python3-yaml  rpm2cpio  sed  socat  sparse  systemtap-sdt-dev  tar  tesseract-ocr  tesseract-ocr-eng  xfslibs-dev  xorriso  zlib1g-dev  zstd
      

      内容来源于gitliab库中test目录下dockerfile内容,上面的是ubuntu22下所需环境,其他版本linux请自行查阅相关dockerfile内容

      https://gitlab.com/qemu-project/qemu/-/tree/master/tests/docker/dockerfiles

    3. 编译

      qemu-user-static

      ../configure --enable-werror --disable-docs --enable-fdt=system --disable-tools --disable-system --static
      make -j$(nproc)
      

      qemu-system and qemu-tools

      ../configure --enable-werror --disable-docs --enable-fdt=system --disable-user
      make -j$(nproc)
      

      内容来源于gitlab库中的jobs任务,筛选其中的success项,点进去就可以看到编译日志,在最上面可以看到configure选项

      https://gitlab.com/qemu-project/qemu/-/jobs?statuses=SUCCESS