4444
Comment: initial page
|
9901
add package build tool comments
|
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 || || [[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]] || || [[https://github.com/josch/polystrap/|polystrap]] || || || directory || works without root || || [[https://gitlab.mister-muffin.de/josch/mmdebstrap|mmdebstrap]] || || || directory || || || DebianPackage:crosshurd || || || directory || || || 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 || |
Line 17: | Line 28: |
|| 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://github.com/FedericoCeratto/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 || |
Line 25: | Line 42: |
|| [[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]] || || DebianPackage:propellor || Haskell || || || [[https://joeyh.name/blog/entry/propellor_is_d-i_2.0/|propellor is d-i 2.0 ]] || ?? || || [[https://wiki.ubuntu.com/Ubiquity|ubiquity]] || Ubuntu/Mint installer, uses d-i in backend. || |
Line 30: | Line 50: |
|| DebianPackage:virt-inst || | || Tool || Language || Read-only/Writable || Formats || Comments || |
Line 32: | Line 52: |
|| [[http://git.liw.fi/vmdb2|vmdb2]] || python, configuration specified in yaml || read/write || raw || vmdebootstrap successor || | |
Line 34: | Line 55: |
|| [[DebianPackage:virtinst|virt-install]] || | || [[DebianPackage:libguestfs-tools|virt-builder]] || ocaml || read/write || qcow2, raw || |
Line 39: | Line 60: |
|| DebianPackage:debootstick || || DebianPackage:mkosi || |
|
Line 40: | Line 63: |
|| [[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 || |
|
Line 43: | Line 72: |
|| Tool || Language || Read-only/Writable || Formats || Comments || | |
Line 46: | Line 76: |
|| [[http://grml.org/grml-live/|grml-live]] || | || [[http://grml.org/grml-live/|grml-live]] || uses fai dirinstall || |
Line 49: | Line 79: |
|| [[https://www.finnix.org/Project_NEALE|NEALE]] || | |
Line 52: | Line 83: |
|| [[FreedomBox/Maker|freedom-maker]] || | || Tool || Language || Read-only/Writable || Formats || Comments || || [[DebianPackage:freedom-maker]] || |
Line 55: | Line 87: |
|| [[https://github.com/ilbers/isar|ISAR]] || || [[https://elbe-rfs.org/|ELBE]] || |
|
Line 58: | Line 92: |
|| Tool || Language || Read-only/Writable || Formats || Comments || | |
Line 59: | Line 94: |
|| DebianPackage:bootstrap-vz || Python | | || DebianPackage:bootstrap-vz || Python || |
Line 63: | Line 98: |
|| [[FAI|fai]] || | |
Line 67: | Line 101: |
|| [[https://github.com/scaleway/image-debian|Scaleway]] | || [[https://github.com/scaleway/image-debian|Scaleway]] || || 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 || || |
Line 71: | Line 107: |
|| Tool || Language || Read-only/Writable || Formats || Comments || | |
Line 78: | Line 115: |
|| [[https://fai-project.org|FAI]] || [[https://lists.uni-koeln.de/pipermail/linux-fai/2017-October/011829.html|Announcement for cross-architecture support]] || | |
Line 81: | Line 119: |
|| Tool || Language || Read-only/Writable || Formats || Comments || | |
Line 88: | Line 127: |
|| Tool || Language || Read-only/Writable || Formats || Comments || | |
Line 90: | Line 130: |
|| DebianPackage:debuerreotype || || || || reproducible rootfs builds || | |
Line 93: | Line 134: |
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 97: | Line 138: |
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]] || || [[CDDT]] || |
Line 117: | Line 159: |
* DebConf15: [[https://summit.debconf.org//debconf15/meeting/246/creating-bootable-debian-images/|Creating bootable Debian images]] by Riku Voipio * DebConf9: [[https://penta.debconf.org/dc9_schedule/events/394.en.html|Building Debian from Debian]] by Vagrant Cascadian |
* 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]]) * DebConf15: [[https://summit.debconf.org//debconf15/meeting/246/creating-bootable-debian-images/|Creating bootable Debian images]] by Riku Voipio * DebConf9: [[https://penta.debconf.org/dc9_schedule/events/394.en.html|Building Debian from Debian]] by Vagrant Cascadian |
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 |
|
|
|
directory |
works without root |
|
|
|
directory |
|
|
|
|
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 |
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 |
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. |
General tools
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
python, shell |
||||
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 |
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 |
Cloud related
Tool |
Language |
Read-only/Writable |
Formats |
Comments |
|
Python |
|||||
shell, python |
|||||
shell |
|||||
Perl |
|||||
fai-diskimage, The Debian cloud team is using FAI for official cloud images |
|||||
|
|
|
wapper around FAI |
|
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 |
?CDDT |
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