# Copyright (c) 2021 Battelle Energy Alliance, LLC. All rights reserved. unless Vagrant.has_plugin?("vagrant-reload") raise 'vagrant-reload plugin is not installed!' end # hack: https://github.com/hashicorp/vagrant/issues/8878#issuecomment-345112810 class VagrantPlugins::ProviderVirtualBox::Action::Network def dhcp_server_matches_config?(dhcp_server, config) true end end Vagrant.configure("2") do |config| config.vm.box = "bento/debian-10" config.vm.network "private_network", type: "dhcp" config.vm.synced_folder '.', '/vagrant', disabled: true config.vm.synced_folder "../..", "/malcolm-build" if Vagrant.has_plugin?("vagrant-vbguest") config.vbguest.auto_update = false end config.vm.provider "virtualbox" do |vb| vb.memory = "8192" vb.cpus = 4 end config.vm.provision "shell", inline: <<-STEP1 dpkg-reconfigure debconf -f noninteractive -p critical export DEBIAN_FRONTEND=noninteractive apt-mark hold grub-pc apt-get -qqy update apt-get -y dist-upgrade sed -i "s/main/main contrib non-free/g" /etc/apt/sources.list echo "deb http://httpredir.debian.org/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list echo "deb-src http://httpredir.debian.org/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list apt-get -qqy update export KERNEL_VERSION=$(apt-cache search linux-image-5.10 | grep -Pv -- '(-(rt|cloud)-amd64|amd64-(dbg|unsigned))' | sort -r --sort=version | awk '{print $1}' | head -n 1 | sed 's/^linux-image-//' | sed 's/-amd64$//') apt-get -t buster-backports -y install \ linux-image-$KERNEL_VERSION-amd64 linux-headers-$KERNEL_VERSION-amd64 linux-headers-$KERNEL_VERSION-common \ dkms build-essential linux-kbuild-5.10 linux-compiler-gcc-8-x86 \ firmware-linux firmware-linux-nonfree firmware-misc-nonfree firmware-amd-graphics ls /dev/disk/by-id/ata-* | grep -v '\\-part' | head -n 1 | xargs -r -l grub-install STEP1 config.vm.provision :reload config.vm.provision "shell", inline: <<-STEP2 export DEBIAN_FRONTEND=noninteractive apt-get -qqy update apt-get -t buster-backports -y install \ rsync git live-build debootstrap xorriso squashfs-tools genisoimage pandoc imagemagick \ apt-transport-https ca-certificates curl gnupg2 software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" apt-get -qqy update apt-get -y install docker-ce docker-ce-cli containerd.io usermod -a -G docker vagrant STEP2 end