mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-03-13 01:54:18 -03:00
users will need to be running older codebases to have these at all work, so having the old Vagrantfile from those releases is entirely reasonable
178 lines
6.8 KiB
Ruby
178 lines
6.8 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
# Testing an ArduPilot VM:
|
|
# rm -rf /vagrant/build
|
|
# dpkg -l | grep modemmanager
|
|
# sim_vehicle.py --map --console # in the starting directory should start a Copter simulation
|
|
# sim_vehicle.py --debug --gdb
|
|
# sim_vehicle.py --debug --valgrind
|
|
#
|
|
# Make testing rather faster:
|
|
# time rsync -aPH /vagrant/ $HOME/ardupilot # real 8m13.712s
|
|
# time (cd $HOME/ardupilot && ./waf configure --board=fmuv2 && ./waf build --target=bin/ardusub) # ~9 minutes
|
|
# time (cd $HOME/ardupilot && ./waf configure --board=fmuv3 && ./waf build --target=bin/ardusub) # ~ minutes (after building fmuv2)
|
|
# time (cd $HOME/ardupilot && ./waf configure --board=navio2 && ./waf build --target=bin/arduplane)
|
|
# time (cd $HOME/ardupilot && ./Tools/autotest/sim_vehicle.py --map --console -v ArduPlane -f jsbsim) # should test JSBSim
|
|
# time (cd $HOME/ardupilot && ./Tools/autotest/autotest.py build.Rover test.Rover)
|
|
|
|
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
|
VAGRANTFILE_API_VERSION = "2"
|
|
|
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
config.ssh.forward_x11 = true
|
|
|
|
# Provider-specific configuration so you can fine-tune various
|
|
# backing providers for Vagrant. These expose provider-specific options.
|
|
# Example for VirtualBox:
|
|
#
|
|
config.vm.provider "virtualbox" do |vb|
|
|
# Don't boot with headless mode
|
|
# vb.gui = true
|
|
#
|
|
# # Use VBoxManage to customize the VM. For example to change memory:
|
|
vb.customize ["modifyvm", :id, "--memory", "3192"]
|
|
vb.customize ["modifyvm", :id, "--ioapic", "on"]
|
|
vb.customize ["modifyvm", :id, "--cpus", "2"]
|
|
# Make some effort to avoid clock skew
|
|
vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", "5000"]
|
|
vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-start"]
|
|
vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore", "1"]
|
|
end
|
|
|
|
# If you are on windows then you must use a version of git >= 1.8.x
|
|
# to update the submodules in order to build. Older versions of git
|
|
# use absolute paths for submodules which confuses things.
|
|
|
|
# removing this line causes "A box must be specified." error
|
|
# and this is the default box that will be booted if no name is specified
|
|
config.vm.boot_timeout = 1500
|
|
|
|
config.vm.define "autotest-server", primary: true do |autotest|
|
|
autotest.vm.box = "ubuntu/jammy64"
|
|
autotest.vm.provision :shell, path: "Tools/vagrant/initvagrant-autotest-server.sh"
|
|
autotest.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (autotest-server)"
|
|
end
|
|
autotest.vm.boot_timeout = 1200
|
|
end
|
|
|
|
# 20.04 LTS EOL April 2025
|
|
config.vm.define "focal", autostart: false do |focal|
|
|
focal.vm.box = "ubuntu/focal64"
|
|
focal.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
focal.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (focal)"
|
|
end
|
|
focal.vm.boot_timeout = 1200
|
|
end
|
|
config.vm.define "focal-desktop", autostart: false do |focal|
|
|
focal.vm.box = "ubuntu/focal64"
|
|
focal.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
focal.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (focal-desktop)"
|
|
vb.gui = true
|
|
end
|
|
focal.vm.boot_timeout = 1500
|
|
end
|
|
|
|
# 22.04 LTS EOL Apr 2032
|
|
config.vm.define "jammy", primary: true do |jammy|
|
|
jammy.vm.box = "ubuntu/jammy64"
|
|
jammy.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
jammy.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (jammy)"
|
|
end
|
|
jammy.vm.boot_timeout = 1200
|
|
end
|
|
config.vm.define "jammy-desktop", autostart: false do |jammy|
|
|
jammy.vm.box = "ubuntu/jammy64"
|
|
jammy.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
jammy.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (jammy-desktop)"
|
|
vb.gui = true
|
|
end
|
|
jammy.vm.boot_timeout = 1200
|
|
end
|
|
|
|
# 23.04 EOL Jan 2024
|
|
config.vm.define "lunar", autostart: false do |lunar|
|
|
lunar.vm.box = "ubuntu/lunar64"
|
|
lunar.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
lunar.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (lunar)"
|
|
end
|
|
lunar.vm.boot_timeout = 1200
|
|
end
|
|
config.vm.define "lunar-desktop", autostart: false do |lunar|
|
|
lunar.vm.box = "ubuntu/lunar64"
|
|
lunar.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
lunar.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (lunar-desktop)"
|
|
vb.gui = true
|
|
end
|
|
lunar.vm.boot_timeout = 1200
|
|
end
|
|
|
|
# 23.10 EOL Jul 2024
|
|
config.vm.define "mantic", autostart: false do |mantic|
|
|
mantic.vm.box = "ubuntu/mantic64"
|
|
mantic.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
mantic.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (mantic)"
|
|
end
|
|
mantic.vm.boot_timeout = 1200
|
|
end
|
|
config.vm.define "mantic-desktop", autostart: false do |mantic|
|
|
mantic.vm.box = "ubuntu/mantic64"
|
|
mantic.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
mantic.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (mantic-desktop)"
|
|
vb.gui = true
|
|
end
|
|
mantic.vm.boot_timeout = 1200
|
|
end
|
|
|
|
# 24.04 end of standard support Jun 2029
|
|
# note the use of "bento" here; Ubuntu stopped providing Vagrant
|
|
# images due to Hashicorp adopting the "Business Source License".
|
|
config.vm.define "noble", autostart: false do |noble|
|
|
noble.vm.box = "bento/ubuntu-24.04"
|
|
noble.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
noble.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (noble)"
|
|
end
|
|
noble.vm.boot_timeout = 1200
|
|
end
|
|
config.vm.define "noble-desktop", autostart: false do |noble|
|
|
noble.vm.box = "bento/ubuntu-24.04"
|
|
noble.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
noble.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (noble-desktop)"
|
|
vb.gui = true
|
|
end
|
|
noble.vm.boot_timeout = 1200
|
|
end
|
|
|
|
# 24.10 end of standard support ??
|
|
# note the use of "bento" here; Ubuntu stopped providing Vagrant
|
|
# images due to Hashicorp adopting the "Business Source License".
|
|
config.vm.define "oracular", autostart: false do |oracular|
|
|
oracular.vm.box = "alvistack/ubuntu-24.10"
|
|
oracular.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
oracular.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (oracular)"
|
|
end
|
|
oracular.vm.boot_timeout = 1200
|
|
end
|
|
config.vm.define "oracular-desktop", autostart: false do |oracular|
|
|
oracular.vm.box = "alvistack/ubuntu-24.10"
|
|
oracular.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
oracular.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ArduPilot (oracular-desktop)"
|
|
vb.gui = true
|
|
end
|
|
oracular.vm.boot_timeout = 1200
|
|
end
|
|
end
|