Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • T tails
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 920
    • Issues 920
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 20
    • Merge requests 20
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • tails
  • tails
  • Issues
  • #15349
Closed
Open
Created Feb 27, 2018 by intrigeri@intrigeriMaintainer15 of 15 tasks completed15/15 tasks

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 --rootfs-tarball and container image support (apparently that option is still needed)
  • 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() in vagrant/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 the ignorechanges 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

  • 0001-WIP.patch

Related issues

  • Related to #7530 (closed)
  • Related to #7580 (closed)
  • Related to #15864 (closed)
  • Related to #5691 (closed)
Edited Jun 07, 2021 by intrigeri
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking