Files
DetectionLab/Vagrant/resources/malcolm/malcolm-iso/vagrant/Vagrantfile
2021-08-06 10:35:01 +02:00

64 lines
2.6 KiB
Ruby

# 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