Differences between revisions 88 and 90 (spanning 2 versions)
Revision 88 as of 2022-11-23 06:24:33
Size: 12107
Editor: PaulWise
Comment: add a shorter anchor
Revision 90 as of 2022-12-06 03:27:10
Size: 12529
Editor: josch
Comment: update comments for mmdebstrap
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
|| 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 ||
|| DebianPackage:debootstrap || shell, Perl || || directory || works on systems without apt, used in d-i ||
|| DebianPackage:mmdebstrap || Perl, Python || || directory,tarball,ext2,squashfs || no superuser privileges, multiple mirrors, stable includes security mirrors, twice as fast as debootstrap, chroots with only Essential:yes or without apt possible, bit-by-bit reproducible with `SOURCE_DATE_EPOCH`, foreign architecture chroots ||
|| DebianPackage:cdebootstrap || || || directory || || ||
Line 19: Line 17:
|| 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 ||
|| 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 ||
Line 165: Line 163:
== Historical ==

These tools should no longer be used and are kept here as a historical record.

|| Tool || Language || Read-only/Writable || Formats || Comments ||
|| [[https://github.com/josch/polystrap/|polystrap]] || || || directory || obsolete || works without root, abandoned upstream ||
|| DebianPackage:multistrap || || || directory || multiple apt repos, [[Multistrap|docs]], abandoned upstream ||

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

works on systems without apt, used in d-i

mmdebstrap

Perl, Python

directory,tarball,ext2,squashfs

no superuser privileges, multiple mirrors, stable includes security mirrors, twice as fast as debootstrap, chroots with only Essential:yes or without apt possible, bit-by-bit reproducible with SOURCE_DATE_EPOCH, foreign architecture chroots

cdebootstrap

directory

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 mmdebstrap

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

rocm-builder

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

consfigurator

Common Lisp

similarish to propellor

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

genimage

C

dmm

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)

kiwi

python

read/write

iso,qcow2,raw

Also used by SUSE and Redhat, supports non-root building in a VM

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

Historical

These tools should no longer be used and are kept here as a historical record.

Tool

Language

Read-only/Writable

Formats

Comments

polystrap

directory

obsolete

works without root, abandoned upstream

multistrap

directory

multiple apt repos, docs, abandoned upstream

Discussions

Talks


CategorySoftware CategoryPackaging