8562
Comment: add table headings everywhere
|
11363
Add an entry about deb-bpo-builder in wrappers section
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
|| DebianPackage:multistrap || || || directory || multiple apt repos, [[Multistrap|docs]] || || [[https://github.com/josch/polystrap/|polystrap]] || || || directory || works without root || || [[https://gitlab.mister-muffin.de/josch/mmdebstrap|mmdebstrap]] || || || 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 24: | Line 25: |
|| [[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 28: | Line 32: |
|| DebianPackage:sbuild || Perl || || DebianPackage:pbuilder || Bash || || DebianPackage:cowbuilder || || DebianPackage:qemubuilder || || DebianPackage:whalebuilder || || [[https://github.com/FedericoCeratto/conbuilder|conbuilder]] || Python || || DebianPackage:debspawn || Python || |
|| 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 39: | Line 49: |
|| [[DebianInstaller|debian-installer]] || shell, C || || [[DebianBug:842671|calamares]] || |
|| [[DebianInstaller|debian-installer]] || shell, C || || || || || calamares || || || || used on the [[https://www.debian.org/CD/live/|LiveCD]] || |
Line 43: | 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 47: | Line 58: |
|| DebianPackage:vmdebootstrap || python, shell || || [[http://git.liw.fi/vmdb2|vmdb2]] || || vmdebootstrap successor || |
|| 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 65: | Line 76: |
|| [[https://github.com/dbnicholson/deb-ostree-builder|deb-ostree-builder]] || shell, python || || || || || [[https://github.com/stb-tester/apt2ostree|apt2ostree]] || python || || || || || [[DebianPackage:boxer]] || |
|
Line 80: | Line 94: |
|| [[DebianPackage:freedom-maker]] || || [[DebianPackage:boxer]] || |
|| [[DebianPackage:freedom-maker]] || Python || || disk image || |
Line 90: | Line 103: |
|| DebianPackage:bootstrap-vz || Python || | || DebianPackage:bootstrap-vz || Python || || || deprecated, removed from Debian 11 || |
Line 98: | Line 111: |
|| DebianPackage:fai-server || [[http://fai-project.org/doc/man/fai-diskimage.html|fai-diskimage]], The Debian cloud team is testing FAI use for official cloud images || || [[https://salsa.debian.org/cloud-team/debian/debian-cloud-images|debian-cloud-images]] || || || || FAI wapper || || |
|| 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 126: | Line 140: |
|| DebianPackage:debuerreotype || || || || reproducible rootfs builds || | |
Line 129: | Line 144: |
See the [[Derivatives/CensusFull|full derivatives census]] page to search all the "Image tool" and "Install 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 139: | Line 154: |
|| [[CDDT]] || |
Contents
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 |
shell, Perl |
|
directory |
|
|
|
|
directory |
|
|
|
|
directory |
multiple apt repos, docs, orphaned |
|
|
|
directory |
works without root, abandoned upstream |
|
|
|
directory,tarball,ext2,squashfs |
works without superuser privileges, uses apt and thus supports multiple mirrors |
|
C++ |
|
directory |
research project for fast install bootstrap through parallelism |
|
|
|
directory |
|
|
Perl |
|
directory |
only for rpm packages, build rpm distro chroot on Debian |
|
shell, Perl |
|
directory |
fai dirinstall creates a chroot |
Wrappers
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
shell |
|
directory |
little shell wrapper around debootstrap, supports multiple architectures via qemu-user |
|
shell |
|
ZIP file containing rootfs, kernel, initrd |
wrapper around qemu-debootstrap |
|
Python |
|
|
wrapper around mmdebstrap for YAML configuration |
|
shell |
|
|
wrapper around mmdebstrap, targeted at building Debian testing → stable backports |
Package build tools
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
Perl |
|
|
chroot/unshare/schroot/autopkgtest(schroot/lxc/chroot/qemu/ssh) for isolation. |
|
Bash |
|
|
chroot for isolation |
|
C |
|
|
chroot for isolation, cowdancer via LD_PRELOAD for copy-on-write |
|
C |
|
|
qemu for isolation |
|
Python |
|
|
systemd-nspawn for isolation |
|
Python |
|
|
systemd-nspawn for isolation |
|
Ruby |
|
|
docker for isolation |
|
?JavaScript |
|
|
docker for isolation |
|
Bash |
|
|
docker for isolation |
|
Python |
|
|
docker for isolation |
|
Bash |
|
|
docker for isolation |
|
Bash |
|
|
docker for isolation |
|
Bash |
|
|
docker for isolation |
Manual install related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
|
shell, C |
|
|
|
||
calamares |
|
|
|
used on the LiveCD |
|
Haskell |
|
|
?? |
||
Ubuntu/Mint installer, uses d-i in backend. |
|||||
|
|
|
based on vmdb2, announcement |
General tools
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
python, shell |
|
|
deprecated, but not yet removed from Debian |
|
python, configuration specified in yaml |
read/write |
raw |
vmdebootstrap successor |
|
shell |
||||
ocaml |
read/write |
qcow2, raw |
||
|
|
|
Linux containers create new buildroots from script templates |
|
Shell |
|
|
WARNING: some questionable customizations |
|
|
|
|
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 |
|
shell, python |
|
|
|
|
python |
|
|
|
|
Live related (read-only)
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
uses fai dirinstall |
||||
|
Read-only |
initramfs |
||
FreedomBox related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
Python |
|
disk image |
||
Cloud related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
|
Python |
|
|
deprecated, removed from Debian 11 |
||
shell, python |
|||||
shell |
|||||
Perl |
|||||
fai-diskimage, The Debian cloud team is using FAI for official cloud images |
|||||
|
|
|
wapper around FAI |
|
|
Python |
|
|
wapper around virt-install |
|
Embedded related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
Python |
||||
shell |
||||
App container related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
Service container related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
|
|
|
reproducible rootfs builds |
Derivatives
The derivatives census lists image and install tools.
Other
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
Related tools
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