Migrate away from vmdebootstrap (and possibly from Vagrant)
Originally created by @intrigeri on #15349 (Redmine)
Problem statement
We use vmdebootstrap to build the VM image used for building Tails ISO images with Vagrant (vagrant/definitions/tails-builder/generate-tails-builder-box.sh)..) vmdebootstrap barely made it in Buster and will not be in Bullseye.
Work in progress
Based on the 15349-vmdb2
branch:
-
generate Vagrant box with vmdb2 that boots -
integrate into the build system so it's easy to test and work on -
drop(apparently that option is still needed)--rootfs-tarball
and container image support -
build Tails images using that Vagrant box -
size: 2 vs. 20GB -
set -u -
clean up artifacts on error/exit -
get APT serials dynamically -
remove vmdebootstrap leftovers: customize.sh
,postinstall.sh
-
compare to our existing scripts, looking for missing or outdated bits -
make sure we pass mitigations=off
to the kernel command-line -
update doc: git grep vmdebootstrap
-
before merging, try to reproduce the latest Tails release (check out the tag, then apply this whole branch's diff without committing, edit box_name()
invagrant/lib/tails_build_settings.rb
so it returns the vagrant box name that you want to try (i.e. one generated with this branch, possibly built with the same APT serials as the release we're trying to reproduce) and then build with theignorechanges
option) -
Bring back lost comments -
send heads up to tails-dev@
Sources of inspiration
- https://wiki.debian.org/SystemBuildTools
- https://salsa.debian.org/cloud-team/fai-cloud-images
- https://salsa.debian.org/cloud-team/vagrant-boxes
- https://salsa.debian.org/cloud-team/qemu-vm/
And wrt. replacing Vagrant altogether, see:
- vagrant-libvirt has no maintainer as of 2020-02-14
- It would be nice, for long term perspectives, if our build system worked in a standard GitLab CI worker environment. Needing KVM support is probably an obstacle.
- #7580 (closed) and https://tails.boum.org/blueprint/replace_vagrant/
- #7530 (closed) and https://tails.boum.org/blueprint/evaluate_Docker/
Attachments
Related issues
- Related to #7530 (closed)
- Related to #7580 (closed)
- Related to #15864 (closed)
- Related to #5691 (closed)