qemu源码编译环境
Qemu环境
Dockerfile
# 基于 Ubuntu 20.04
FROM m.daocloud.io/docker.io/ubuntu:20.04
# 设置非交互模式
ENV DEBIAN_FRONTEND=noninteractive
# 删除原有的官方源,添加阿里云镜像源
RUN rm -f /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list
# 更新软件源并安装 QEMU 构建依赖
RUN apt-get update && \
apt-get install -y \
git \
build-essential \
ninja-build \
pkg-config \
libglib2.0-dev \
libpixman-1-dev \
libaio-dev \
libbluetooth-dev \
libbrlapi-dev \
libbz2-dev \
libcap-ng-dev \
libcurl4-gnutls-dev \
libgtk-3-dev \
libibverbs-dev \
libjpeg8-dev \
libncurses5-dev \
libnuma-dev \
librbd-dev \
librdmacm-dev \
libsasl2-dev \
libsdl2-dev \
libseccomp-dev \
libsnappy-dev \
libssh-dev \
libusb-1.0-0-dev \
libvde-dev \
libvdeplug-dev \
libvte-2.91-dev \
libxen-dev \
liblzo2-dev \
valgrind \
xfslibs-dev \
zlib1g-dev \
python3 \
python3-pip \
python3-setuptools \
wget && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# 指定 QEMU 版本(可改为你需要的)
ARG QEMU_VERSION=v9.0.2
# 下载 QEMU 源码
RUN git clone --depth 1 --branch ${QEMU_VERSION} https://gitlab.com/qemu-project/qemu.git /qemu
WORKDIR /qemu
# 配置与编译
RUN ./configure --enable-kvm --enable-debug --enable-sdl --enable-gtk --target-list=x86_64-softmmu,aarch64-softmmu && \
make -j$(nproc) && \
make install
# 清理源码目录
RUN rm -rf /qemu
# 默认命令
CMD ["qemu-system-x86_64", "--version"]
构建镜像
docker build -t ubuntu22.04-image:1.0 .
运行容器
docker run -itd --network host -- ubuntu22.04-image:1.0