5374
Comment: vmdb2
|
11363
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]]) |
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