Skip to content

dreaminLee/qemu-static

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qemu-static

The purpose of this project is to build a highly compatible QEMU binary package for linux to use with Zig testing.

Zig needs 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 older versions of QEMU.

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

usage

run:

./build.sh

then check artifact folder to get compiled qemu.

fill in QEMU_REV or QEMU_GIT_COMMIT in build.sh to compile different version of qemu.

About

build qemu-static binaries using Alpine Linux docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 68.4%
  • Dockerfile 31.6%