本文记录在 Debian 12 上利用 docker 进行 QEMU W64 的交叉编译步骤
安装 docker 编译环境
首先,在Debian 12系统中通过以下命令可以安装Docker:
启动Docker服务:
在 docker 新目录中创建 Dockerfile 文件
配置 docker 运行环境
首先配置 docker.io 的 registry 镜像,新建 /etc/docker/daemon.json 文件,内容如下:
以上表示 docker daemon 使用 1panel.dev 的 docker 镜像
然后在 docker 新目录中运行以下命令:
docker 根据目录中的 Dockerfile 指令构建运行环境
准备 QEMU W64 编译环境
首先运行 docker 镜像,执行以下命令:
然后,接入 docker 容器的控制台,执行以下命令:
接下来安装交叉编译 QEMU W64 所需要的工具
然后下载安装 msys2 的 mingw64 软件包
1、
2、
3、可选,基本编译工具,在 debian cross compile 中不需要
4、基本库
5、GTK,SDL和SLiRP支持
6、SPICE和QXL支持
7、OpenGL支持
8、capstone支持
9、libssh支持
10、libusb支持
11、pthread支持
12、document支持
13、JACK支持
14、USB net redir支持
15、SASL支持
16、libcbor支持
17、snappy支持
18、libnfs支持
19、nettle支持
20、libgcrypt支持
21、dtc支持
8、设置 pkgconfig 环境变量
9、编译
然后下载 cygwin 的软件包,转换为 deb 格式文件
通过以下命令激活 python 虚拟环境:
安装 zstd 支持包
下载 cygwin 的软件包
安装 cygwin 的软件包
在 QEMU 根目录创建文件 x86_64-w64-mingw32.txt ,内容如下:
获取 libslirp :
获取 virgl 来实现 3D 硬件加速:
创建新目录来存放编译后产生的 QEMU 依赖组件:
安装 libslirp:
安装 virgl
Leave a Reply