~bitfehler/makeimg

Create Arch or Alpine system images (disk image, tarball, or chroot)
Fix setup() call for "custom" format
Update man page for file mode recording feature
Allow recording and applying of file modes

clone

read-only
https://git.sr.ht/~bitfehler/makeimg
read/write
git@git.sr.ht:~bitfehler/makeimg

You can also use your local clone with git send-email.

#makeimg

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.

#Documentation

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).

#Status

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.

#Requirements

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.

#Building

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

#Installing

Just copy the script somewhere into your $PATH.