SystemBuildTools - Debian Wiki
Tools to build multi-package systems in chroots, app/service containers, disk images, VMs or other formats.
Contents
Tools to create (Debian) systems for general use.
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
ocaml |
read/write |
qcow2, raw |
||
python3, configuration in INI |
configurable rw or ro |
UKI, DDI (GPT), squashfs/erofs, qcow, directory/chroot, cpio, kernel+initrd |
Does not require privileges, can build container images and/or VM images and/or bare-metal bootable images and/or UKIs, supports multiple distributions/architectures |
|
Shell |
read/write |
dir(rootfs) |
Deprecated, prefer distrobuilder; linux containers create new buildroots from scripts in lxc-templates |
|
Go |
read/write |
dir(rootfs), tar, qcow2 |
Modern system container image builder for LXC, LXD and Incus |
|
Shell |
WARNING: some questionable customizations |
|||
Shell, Perl |
read/write |
dir, ISO, raw, qcow2, vdi, vhdx, vmdk |
can do installations, chroots, disk images, cross architecture |
|
Go |
Data driven rootless image creation tool. debos intro |
|||
python |
Creates (chroots and) bootable virtual machine images |
|||
python |
||||
C |
developed by Pengutronix |
|||
python |
iso, tar |
very alpha, not ready for production use, similar to debos and mkosi but much larger in scope (meant to be used for appimages/installer/ppa systems eventually) |
||
python |
read/write |
iso,qcow2,raw |
Also used by SUSE and Redhat, supports non-root building in a VM |
|
shell |
ext4 raw image |
Create and run Debian-based VM images for various releases and architectures |
Tools for creating Debian live environments.
Tools for managing Debian instances in the cloud.
Tools for managing Debian instances on embedded devices.
Tools for manually installing Debian on a machine.
See also
- other bootstrapping solutions
freedom-maker - used by FreedomBox
the derivatives census contains image and install tools
- package/system hybrids
other packaging solutions blur the line between packages and whole systems
docker and podman can be used like whole systems or just sandboxed apps
Discussions
<CAKTje6GG=PyyfH+FM_LNiajfohkcUFd3Qtko=fNWfmX4dtHSmw@mail.gmail.com>: Flashable image generation Re: Bits from ARM porters
<55999F8A.8000807@ghraoui.name>: oem-config for Debian
<570E0639.6040609@pocock.pro>: creating official Debian images for ARM-based NAS devices
<CAKTje6H3_Rvxkt226zJBqzGZBhZRP2GAHry0nFSvWyes=Q3gYw@mail.gmail.com>: support for installing unconfigured systems (VM images, Debian Live images, preinstalled mobile/tablet images)
Talks
DebConf18: Building Debian-based system images by Ben Hutchings (notes)
Cambridge mini-DebConf 2017: Build disk images with FAI by Thomas Lange
DebConf17: Installing Debian BoF by Vagrant Cascadian (notes)
DebConf15: Creating bootable Debian images by Riku Voipio
DebConf9: Building Debian from Debian by Vagrant Cascadian
Tools more relevant to packaging have been moved to PackagingTools. For details, see the discussion.