mirror of
https://codeberg.org/ziglang/qemu-static.git
synced 2026-11-04 02:36:48 +00:00
Builds static QEMU binaries using Docker and Alpine Linux.
- Shell 79.6%
- Dockerfile 20.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
* linux-user/mips: pick Loongson-3A4000 if a pre-r6 mips64 binary needs nan2008 * target/mips: fix Loongson-3A4000 definition to have abs2008 and nan2008 * linux-user/sparc: fix register window flush/fill in signal handling * linux-user: add MADV_POPULATE_READ and WRITE defs * linux-user/syscall.c: zero-initialize msg in do_sendrecvmsg_locked() * linux-user/signal.c: define __SIGRTMIN/MAX for non-GNU platforms |
||
| .dockerignore | ||
| build | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
qemu-static
The purpose of this project is to build a highly compatible linux QEMU binary package for Zig CI testing.
Zig requires a very recent QEMU version, sometimes unreleased commit-revs, and sometimes with custom patches. For this reason, distro-based QEMU packages are unsuitable.
The overall strategy is to use Alpine Linux to host a QEMU build and link statically to all possible libraries.
It is a non-goal to build QEMU with all features enabled. It is a non-goal to build QEMU with system emulation enabled. It is a non-goal to build older versions of QEMU.
maintainer note: ZSF qemu fork updates
- edit the following values in
buildscript:ARTIFACT_BASE_VERSIONARTIFACT_SERIALQEMU_REV
build docker image
docker build --tag qemu .
run container, save ID, copy artifact(s)
mkdir ../artifact
docker run -it --cidfile=qemu.cid qemu true
docker cp "$(cat qemu.cid):work/artifact/." ../artifact/.
review final artifact(s)
ls -al ../artifact/
cleanup container, ID-file, and image
docker container rm $(cat qemu.cid)
rm qemu.cid
docker image rm qemu
really, really cleanup docker
docker system prune --force