Create Arch or Alpine system images (disk image, tarball, or chroot)

830b5d3 Fix setup() call for "custom" format

a day ago
a month ago


Create Arch or Alpine system images (disk image, tarball, or chroot)

makeimg provides a declarative way to describe system images (e.g. VM images). The project was initially inspired by the OpenWRT image builder and Arch Linux's PKGBUILD format. It was then convinced by Alpine's APKBUILD to become POSIX-compliant.

Some examples can be found in the examples folder.


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: makeimg.1, IMGBUILD.5 or build the man pages yourself (see below).


The current version of makeimg runs on both Arch Linux and Alpine Linux. Both types of images can be built from either host system, but there may be subtle differences depending on the host system.


The required tools depend heavily on the target system and the type of image being built. A properly configured pacman or 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.


The script can be used as is.

To build the man pages, scdoc is required. You can also build a HTML version of the man pages with scd2html.

  • Man pages: make man
  • Man pages (html): make html


Just copy the script somewhere into your $PATH.