Build system images from declarative input.
makeimg provides a declarative way to describe system images (e.g. VM
images). The project was initially inspired by the OpenWRT image
and Arch Linux's PKGBUILD format.
It was then convinced by Alpine's
APKBUILD to become
Some examples can be found in the
makeimg is a stand-alone project and quite useful on its own, but it is
developed with a focus on its part in project
Anemos. Check it out to learn how to use
makeimg to deploy bare-metal hosts!
NOTE: The expected project structure has changed from version 0.7 to 0.8 -
however, most projects can be converted automatically with a script found in
makeimg comes with extensive man pages, one for the tool and one for the
format of the
IMGBUILD file that describes the images. You can read the
online version here:
or build the man pages yourself (see below).
The current version of
makeimg should technically run on any reasonable Linux
system. It can create Arch Linux, Alpine Linux, and Debian Linux images.
However, to do so, it depends on
respectively. Arch Linux and Alpine Linux offer all three, and are hence best
suited for running
makeimg. On Debian, you will only be able to create Debian
images (unless the respective tools have been manually installed and set up).
The required tools depend heavily on the target system and the type of image
being built. A properly configured
apk is required to build Arch
or Alpine images respectively. For building disk images,
parted is needed.
For more details, check the source code for now.
There is an AUR package.
If needed, packages (x86_64 only) are available in my personal repo - add this
Server = https://bitfehler.net/arch/$repo/os/$arch
Packages are signed with https://meta.sr.ht/~bitfehler.pgp
You can find the
APKBUILD in the
Packages (x86_64 only) are available in the Anemos repo - add this to
Packages are signed with https://anemos.io/alpine/conrad-6297636d.rsa.pub
Just copy the script somewhere into your
Got questions or other feedback? Please use the anemos mailing list.
Please send patches to the anemos mailing list.