Differences between revisions 19 and 77 (spanning 58 versions)
Revision 19 as of 2017-06-05 04:10:23
Size: 5374
Editor: PaulWise
Comment: vmdb2
Revision 77 as of 2021-08-11 14:18:18
Size: 11363
Editor: ?vv221
Comment: Add an entry about deb-bpo-builder in wrappers section
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en
Line 9: Line 10:
|| Tool || Language || Read-only/Writable || Formats || Comments || ?? ||
|| DebianPackage:debootstrap || || || directory ||
|| DebianPackage:cdebootstrap || || || directory ||
|| DebianPackage:multistrap || || || directory || multiple apt repos, [[Multistrap|docs]] ||
|| [[https://github.com/josch/polystrap/|polystrap]] || || || directory || works without root ||
|| [[DebianPackage:qemu-user-static|qemu-debootstrap]] ||  || || directory || supports multiple architectures via qemu-user ||
|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| DebianPackage:debootstrap || shell, Perl || || directory || ||
|| DebianPackage:cdebootstrap || || || directory || ||
|| DebianPackage:multistrap || || || directory || multiple apt repos, [[Multistrap|docs]], orphaned ||
|| [[https://github.com/josch/polystrap/|polystrap]] || || || directory || works without root, abandoned upstream ||
|| DebianPackage:mmdebstrap || || || directory,tarball,ext2,squashfs || works without superuser privileges, uses apt and thus supports multiple mirrors
||
|| [[https://git.sr.ht/~kilobyte/zdebootstrap|zdebootstrap]] || C++ || || directory || research project for fast install bootstrap through parallelism ||
Line 16: Line 18:
|| DebianPackage:rinse || Perl || || directory ||only for rpm packages, build rpm distro chroot on Debian ||
|| DebianPackage:fai-server || shell, Perl || || directory || fai dirinstall creates a chroot ||

=== Wrappers ===

|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| [[DebianPackage:qemu-user-static|qemu-debootstrap]] || shell || || directory || little shell wrapper around debootstrap, supports multiple architectures via qemu-user ||
|| [[https://gitlab.com/giomasce/dqib|DQIB]] || shell || || ZIP file containing rootfs, kernel, initrd || wrapper around qemu-debootstrap ||
|| [[https://github.com/bdrung/bdebstrap|bdebstrap]] || Python || || || wrapper around mmdebstrap for YAML configuration ||
|| [[https://forge.dotslashplay.it/vv221/deb-bpo-builder|deb-bpo-builder]] || shell || || || wrapper around mmdebstrap, targeted at building Debian testing → stable backports ||
Line 19: Line 31:
|| DebianPackage:sbuild || Perl ||
|| DebianPackage:pbuilder || Bash ||
|| DebianPackage:cowbuilder ||
|| DebianPackage:qemubuilder ||
|| DebianPackage:whalebuilder ||
|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| DebianPackage:sbuild || Perl || || || chroot/unshare/schroot/autopkgtest(schroot/lxc/chroot/qemu/ssh) for isolation. ||
|| DebianPackage:pbuilder || Bash || || || chroot for isolation ||
|| DebianPackage:cowbuilder || C || || || chroot for isolation, DebianPackage:cowdancer via LD_PRELOAD for copy-on-write ||
|| DebianPackage:qemubuilder || C || || || qemu for isolation ||
|| [[https://salsa.debian.org/federico/conbuilder|conbuilder]] || Python || || || systemd-nspawn for isolation ||
|| DebianPackage:debspawn || Python || || || systemd-nspawn for isolation ||
|| DebianPackage:whalebuilder || Ruby || || || docker for isolation ||
|| [[https://www.npmjs.com/package/voidbuilder|voidbuilder]] || JavaScript || || || docker for isolation ||
|| [[https://github.com/metux/docker-buildpackage|docker-buildpackage]] || Bash || || || docker for isolation ||
|| DebianPackage:debocker || Python || || || docker for isolation ||
|| [[https://salsa.debian.org/spog/debdocker|debdocker]] || Bash || || || docker for isolation ||
|| [[https://github.com/resnullius/deb-build-pkg|deb-build-pkg]] || Bash || || || docker for isolation ||
|| [[https://github.com/CumulusNetworks/DUE/|DUE]] || Bash || || || docker for isolation ||
Line 27: Line 48:
|| [[DebianInstaller|debian-installer]] || shell, C ||
|| [[DebianBug:842671|calamares]] ||
|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| [[DebianInstaller|debian-installer]] || shell, C || || || ||
|| calamares || || || || used on the [[https://www.debian.org/CD/live/|LiveCD]] ||
Line 31: Line 53:
|| [[https://gitlab.com/larswirzenius/v-i|v-i]] || || || || based on vmdb2, [[http://blog.liw.fi/posts/2020/02/29/alternative_debian_installer_based_on_vmdb2_v-i/|announcement]] ||
Line 34: Line 57:
|| DebianPackage:virt-inst ||
|| DebianPackage:vmdebootstrap || python, shell ||
|| [[http://git.liw.fi/vmdb2|vmdb2]] || || vmdebootstrap successor ||
|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| DebianPackage:vmdebootstrap || python, shell || || || deprecated, but not yet removed from Debian ||
|| [[http://git.liw.fi/vmdb2|vmdb2]] || python, configuration specified in yaml || read/write || raw || vmdebootstrap successor ||
Line 39: Line 62:
|| [[DebianPackage:virtinst|virt-install]] || || [[DebianPackage:libguestfs-tools|virt-builder]] || ocaml || read/write || qcow2, raw ||
Line 47: Line 70:
|| [[DebianPackage:lxc|lxc-create]] || Linux containers create new buildroots from script templates ||
|| [[https://github.com/jubinson/debian-rootfs|debian-rootfs]] || Shell || RW || tar.gz || WARNING: some questionable customisations ||
|| [[DebianPackage:lxc|lxc-create]] || || || || Linux containers create new buildroots from script templates ||
|| [[https://github.com/lxc/distrobuilder|distrobuilder]] ||
|| [[https://github.com/jubinson/debian-rootfs|debian-rootfs]] || Shell || || || WARNING: some questionable customizations ||
|| [[https://fai-project.org|FAI]] || || || || can do installations, chroots, disk images, cross architecture ||
|| [[https://github.com/go-debos/debos|debos]] || Go || || || Data driven rootless image creation tool. [[https://ekaia.org/blog/2018/07/03/introducing-debos/|debos intro]] ||
|| [[https://github.com/hartwork/image-bootstrap|image-bootstrap]] || python || || || Creates (chroots and) bootable virtual machine images ||
|| [[https://github.com/dbnicholson/deb-ostree-builder|deb-ostree-builder]] || shell, python || || || ||
|| [[https://github.com/stb-tester/apt2ostree|apt2ostree]] || python || || || ||
|| [[DebianPackage:boxer]] ||
Line 52: Line 82:
|| Tool || Language || Read-only/Writable || Formats || Comments ||
Line 55: Line 86:
|| [[http://grml.org/grml-live/|grml-live]] || || [[http://grml.org/grml-live/|grml-live]] || uses fai dirinstall ||
Line 62: Line 93:
|| [[FreedomBox/Maker|freedom-maker]] ||
|| [[DebianPackage:boxer]] ||
|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| [[DebianPackage:freedom-maker]] || Python || || disk image ||
Line 70: Line 101:
|| Tool || Language || Read-only/Writable || Formats || Comments ||
Line 71: Line 103:
|| DebianPackage:bootstrap-vz || Python || || DebianPackage:bootstrap-vz || Python || || || deprecated, removed from Debian 11 ||
Line 75: Line 107:
|| [[FAI|fai]] ||
Line 80: Line 111:
|| DebianPackage:fai-server || [[http://fai-project.org/doc/man/fai-diskimage.html|fai-diskimage]], The Debian cloud team is using FAI for official cloud images ||
|| [[https://salsa.debian.org/cloud-team/debian/debian-cloud-images|debian-cloud-images]] || || || || wapper around FAI || ||
|| [[https://github.com/ionos-enterprise/image-factory|image-factory]] || Python || || || wapper around virt-install || ||
Line 83: Line 117:
|| Tool || Language || Read-only/Writable || Formats || Comments ||
Line 90: Line 125:
|| [[https://fai-project.org|FAI]] || [[https://lists.uni-koeln.de/pipermail/linux-fai/2017-October/011829.html|Announcement for cross-architecture support]] ||
Line 93: Line 129:
|| Tool || Language || Read-only/Writable || Formats || Comments ||
Line 100: Line 137:
|| Tool || Language || Read-only/Writable || Formats || Comments ||
Line 102: Line 140:
|| DebianPackage:debuerreotype || || || || reproducible rootfs builds ||
Line 105: Line 144:
See the [[Derivatives/CensusFull|full derivatives census]] page to search all the "Image tool" fields. The [[Derivatives/Census|derivatives census]] lists [[https://wiki.debian.org/Derivatives/CensusFull?action=fullsearch&context=180&value=title%3ADerivatives%2FCensus%2F+regex%3A%5B%5E%23%5D%5Cs%5C*%5CsImage%5Cstool.%5Cs%5B%5E%5Cs%2F%5D&fullsearch=Text|image]] and [[https://wiki.debian.org/Derivatives/CensusFull?action=fullsearch&context=180&value=title%3ADerivatives%2FCensus%2F+regex%3A%5B%5E%23%5D%5Cs%5C*%5CsInstall%5Cstool.%5Cs%5B%5E%5Cs%2F%5D&fullsearch=Text|install]] tools.
Line 109: Line 148:
DebianPackage:rootstrap
[[https://alioth.debian.org/projects/debian-knoppix|debian-knoppix]]
[[https://alioth.debian.org/projects/debix|debix]]
DebianPackage:bootcd
[[http://mklivecd.sourceforge.net/|mklivecd]]
[[CDDT]]
|| Tool || Language || Read-only/Writable || Formats || Comments ||
||
DebianPackage:rootstrap ||
||
[[https://alioth.debian.org/projects/debian-knoppix|debian-knoppix]] ||
||
[[https://alioth.debian.org/projects/debix|debix]] ||
||
DebianPackage:bootcd ||
||
[[http://mklivecd.sourceforge.net/|mklivecd]] ||
Line 129: Line 168:
 * DebConf18: [[https://debconf18.debconf.org/talks/89-building-debian-based-system-images/|Building Debian-based system images]] by Ben Hutchings ([[https://gobby.debian.org/export/debconf18/bof/building-debian-images|notes]])
   * [[https://debconf18.debconf.org/talks/53-faime-a-build-service-for-installation-and-cloud-images/|FAI.me]], [[https://debconf18.debconf.org/talks/84-using-fai-to-build-live-debian-images-for-arm-developer-boards/|FAI & ARM]], [[https://debconf18.debconf.org/talks/159-build-tools-for-applying-debian-to-embedded-systems/|Debian & embedded]]
 * Cambridge mini-DebConf 2017: [[DebianEvents/gb/2017/MiniDebConfCambridge/Lange1|Build disk images with FAI]] by Thomas Lange
 * DebConf17: [[https://debconf17.debconf.org/talks/116/|Installing Debian BoF]] by Vagrant Cascadian ([[https://gobby.debian.org/export/debconf17/bof/Installing%20Debian|notes]])

Intro

A list of tools that can be used to build multi-package systems; in chroots, app/service containers, disk images, VMs or other formats.

Unpack/configure packages to a location

Tool

Language

Read-only/Writable

Formats

Comments

debootstrap

shell, Perl

directory

cdebootstrap

directory

multistrap

directory

multiple apt repos, docs, orphaned

polystrap

directory

works without root, abandoned upstream

mmdebstrap

directory,tarball,ext2,squashfs

works without superuser privileges, uses apt and thus supports multiple mirrors

zdebootstrap

C++

directory

research project for fast install bootstrap through parallelism

crosshurd

directory

rinse

Perl

directory

only for rpm packages, build rpm distro chroot on Debian

fai-server

shell, Perl

directory

fai dirinstall creates a chroot

Wrappers

Tool

Language

Read-only/Writable

Formats

Comments

qemu-debootstrap

shell

directory

little shell wrapper around debootstrap, supports multiple architectures via qemu-user

DQIB

shell

ZIP file containing rootfs, kernel, initrd

wrapper around qemu-debootstrap

bdebstrap

Python

wrapper around mmdebstrap for YAML configuration

deb-bpo-builder

shell

wrapper around mmdebstrap, targeted at building Debian testing → stable backports

Package build tools

Tool

Language

Read-only/Writable

Formats

Comments

sbuild

Perl

chroot/unshare/schroot/autopkgtest(schroot/lxc/chroot/qemu/ssh) for isolation.

pbuilder

Bash

chroot for isolation

cowbuilder

C

chroot for isolation, cowdancer via LD_PRELOAD for copy-on-write

qemubuilder

C

qemu for isolation

conbuilder

Python

systemd-nspawn for isolation

debspawn

Python

systemd-nspawn for isolation

whalebuilder

Ruby

docker for isolation

voidbuilder

?JavaScript

docker for isolation

docker-buildpackage

Bash

docker for isolation

debocker

Python

docker for isolation

debdocker

Bash

docker for isolation

deb-build-pkg

Bash

docker for isolation

DUE

Bash

docker for isolation

Tool

Language

Read-only/Writable

Formats

Comments

debian-installer

shell, C

calamares

used on the LiveCD

propellor

Haskell

propellor is d-i 2.0

??

ubiquity

Ubuntu/Mint installer, uses d-i in backend.

v-i

based on vmdb2, announcement

General tools

Tool

Language

Read-only/Writable

Formats

Comments

vmdebootstrap

python, shell

deprecated, but not yet removed from Debian

vmdb2

python, configuration specified in yaml

read/write

raw

vmdebootstrap successor

qemu-make-debian-root

grml-debootstrap

shell

virt-builder

ocaml

read/write

qcow2, raw

vmbuilder

ltsp-build-client

vserver build

build-simple-cdd

debootstick

mkosi

Kameleon

lxc-create

Linux containers create new buildroots from script templates

distrobuilder

debian-rootfs

Shell

WARNING: some questionable customizations

FAI

can do installations, chroots, disk images, cross architecture

debos

Go

Data driven rootless image creation tool. debos intro

image-bootstrap

python

Creates (chroots and) bootable virtual machine images

deb-ostree-builder

shell, python

apt2ostree

python

boxer

Tool

Language

Read-only/Writable

Formats

Comments

live-build

open-infrastructure-system-build

live-wrapper

grml-live

uses fai dirinstall

debirf

Read-only

initramfs

supermin

NEALE

Tool

Language

Read-only/Writable

Formats

Comments

freedom-maker

Python

disk image

freedombox_dev

ISAR

ELBE

Tool

Language

Read-only/Writable

Formats

Comments

ganeti-instance-debootstrap

bootstrap-vz

Python

deprecated, removed from Debian 11

python-diskimage-builder

shell, python

openstack-debian-images

shell

packer

xen-tools

Perl

TKLDev

Ubuntu EC2 builds

Scaleway

fai-server

fai-diskimage, The Debian cloud team is using FAI for official cloud images

debian-cloud-images

wapper around FAI

image-factory

Python

wapper around virt-install

Tool

Language

Read-only/Writable

Formats

Comments

linaro-media-create

Python

buildroot

apertis-image-customization

Armbian lib

spindle

shell

omap-image-builder

JBAT

FAI

Announcement for cross-architecture support

Tool

Language

Read-only/Writable

Formats

Comments

AppImageKit

limba

snappy

flatpak

Tool

Language

Read-only/Writable

Formats

Comments

docker

rkt

debuerreotype

reproducible rootfs builds

Derivatives

The derivatives census lists image and install tools.

Other

Tool

Language

Read-only/Writable

Formats

Comments

rootstrap

debian-knoppix

debix

bootcd

mklivecd

fsprotect

Discussions

Talks