Image Composer Tool#

Image Composer Tool (ICT) is a command-line tool for building custom, bootable Linux images from pre-built packages. Define your requirements in a YAML template, run one command to get a RAW image ready for deployment (ISO installers require an extra step; see the Installation Guide).

Supported distributions: Azure Linux (azl3), Edge Microvisor Toolkit (emt3), Wind River eLxr (elxr12), Ubuntu (ubuntu24), and Red Hat-compatible distributions (rcd10).

Quick Start#

# 1. Clone and build (requires Go 1.24+)
git clone https://github.com/open-edge-platform/image-composer-tool.git
cd image-composer-tool
go build -buildmode=pie -ldflags "-s -w" ./cmd/image-composer-tool

# 2. Install prerequisites
sudo apt install systemd-ukify mmdebstrap
# Or run it directly:
go run ./cmd/image-composer-tool --help

# 3. Compose an image
sudo -E ./image-composer-tool build image-templates/azl3-x86_64-edge-raw.yml

For build options (Earthly, Debian package) and prerequisite details, see the Installation Guide.

Guides#

Guide

Description

Installation Guide

Build methods, Debian packaging, prerequisites

Usage Guide

CLI commands, configuration, build output, shell completion

CLI Reference

Complete command-line specification

Image Templates

Template structure, variables, best practices

Build Process

Pipeline stages, caching, troubleshooting

Architecture

System design and component overview

Tutorials#

Tutorial

Description

Prerequisites

Manual ukify and mmdebstrap installation

Secure Boot

Configuring secure boot for images

Configure Users

Adding users to images

Custom Build Actions

Commands during image compose (chroot)

Custom Initrd Script

Debian 13 GRUB initramfs-tools initrd hook

Multiple Repos

Using multiple package repositories

Get Help#

Contribute#

License#

MIT