https://wiki.debian.org/SystemBuildTools Survey of tools attendees use/like ================================== live-wrapper being updated to not use vmdebootstrap (deprecated) debos (in golang) by Collabora, images described in YAML - https://ekaia.org/blog/2018/07/03/introducing-debos/ - used to build embedded images, however has potential to be adapted to other use cases - does not need root if you have access to nested KVM via fakemachine (qemu) - used by vmdb2 (successor to vmdebootstrap) ⇒ Also YAML-described; Python. http://git.liw.fi/vmdb2/tree/README vmdebootstrap to be removed (announced by Lars, Jul29, d-d-a) not usable for some cases ⇒ definitively needs root https://github.com/sitepoint/debian-image-builder.git (creates aws images, but can be modified to build traditional images) written in shell → add to the wiki? propellor (haskell) - cfgmgmt tool but can create images from the results https://propellor.branchable.com/ (or DebConf17 talk or linux.conf.au talk) FAI used by Debian cloud team, does a lot of things another FAI talk, about FAI.me service on Thursday FAI for ARM talk on Thursday debirf - system into initramfs packer - tools to create vm images for multiple platforms - Vagrant https://wiki.debian.org/Teams/Cloud/RebuildVagrantBaseBoxes - Cloud images, AMI/Azure/... - VMDK(VMWare) - qcow2 - lxc openstack-debian-images: currently in use for building the official OpenStack Debian images at http://cdimage.debian.org/cdimage/openstack/ This tool is now capable to also setup baremetal computers, and supports amd64 or arm64, syslinux or grub, bios or uefi. boxer - https://salsa.debian.org/boxer-team/boxer debian-installer with preseeding has install support live-image baremetal installers: calamares, ubiquity calamares is now also packaged in Debian, and for examples on how to configure and for examples on how to install on Debian derivatives, see calamares-settings-debian .. oh... oh! AND... it's installed in current buster debian-live images, so you can try it out. Criteria to pick a tool ======================= - need to cross-build? * debos can cross build for images for ARM (and other arches), but only runs on amd64 ATM - do we need to extend debos to run on other build arches? Questions ========= - Sharing rootfs de-configuration between Debian Cloud, Debian Live and Debian ARM images? - which tools can be used for baremetal installs? openstack-debian-images, FAI, propellor (maybe?) - do any tools support reproducible bit-for-bit identical images? - ext[2-4] filesystem UUIDS, writing, etc. - Tails uses SquashFS-within-ISO9660, which can now be built reproducibly - Someone looking into system updaters? Tails is starting to look into this (more in 2019): https://tails.boum.org/blueprint/Endless_upgrades/#non-nih Collabora looking into RAUC+casync and OSTree (which are also the options that look the most promising for Tails ATM) - debos already has OSTree support.