2013-04-04 14:52:39 -03:00
|
|
|
# -*- mode: ruby -*-
|
|
|
|
# vi: set ft=ruby :
|
|
|
|
|
2018-02-05 22:23:00 -04:00
|
|
|
# Testing an ArduPilot VM:
|
2021-04-29 07:36:15 -03:00
|
|
|
# rm -rf /vagrant/build
|
2020-06-03 21:35:56 -03:00
|
|
|
# dpkg -l | grep modemmanager
|
2019-03-29 20:40:32 -03:00
|
|
|
# sim_vehicle.py --map --console # in the starting directory should start a Copter simulation
|
2018-02-05 22:23:00 -04:00
|
|
|
# sim_vehicle.py --debug --gdb
|
2020-11-24 07:57:29 -04:00
|
|
|
# sim_vehicle.py --debug --valgrind
|
2018-10-19 03:20:33 -03:00
|
|
|
# time (cd /vagrant && ./waf configure --board=fmuv2 && ./waf build --target=bin/ardusub) # ~9 minutes
|
|
|
|
# time (cd /vagrant && ./waf configure --board=fmuv3 && ./waf build --target=bin/ardusub) # ~ minutes (after building fmuv2)
|
|
|
|
# time (cd /vagrant && ./waf configure --board=navio2 && ./waf build --target=bin/arduplane)
|
2019-03-29 20:40:32 -03:00
|
|
|
# time (cd /vagrant && ./Tools/autotest/sim_vehicle.py --map --console -v ArduPlane -f jsbsim) # should test JSBSim
|
2020-03-26 23:46:12 -03:00
|
|
|
# time (cd /vagrant && ./Tools/autotest/autotest.py build.Rover test.Rover)
|
2018-02-05 22:23:00 -04:00
|
|
|
|
2015-01-20 15:51:19 -04:00
|
|
|
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
|
|
|
VAGRANTFILE_API_VERSION = "2"
|
2013-04-04 14:52:39 -03:00
|
|
|
|
2015-01-20 15:51:19 -04:00
|
|
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
2019-02-10 22:58:14 -04:00
|
|
|
config.ssh.forward_x11 = true
|
2013-04-04 14:52:39 -03:00
|
|
|
|
2015-01-20 15:51:19 -04:00
|
|
|
# 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:
|
2018-10-19 03:20:33 -03:00
|
|
|
vb.customize ["modifyvm", :id, "--memory", "3192"]
|
2015-01-20 15:51:19 -04:00
|
|
|
vb.customize ["modifyvm", :id, "--ioapic", "on"]
|
|
|
|
vb.customize ["modifyvm", :id, "--cpus", "2"]
|
2015-03-22 17:37:15 -03:00
|
|
|
# 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"]
|
2015-01-20 15:51:19 -04:00
|
|
|
end
|
|
|
|
|
2018-02-06 02:05:12 -04:00
|
|
|
# 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.
|
2015-03-22 17:37:15 -03:00
|
|
|
|
2018-03-01 22:59:59 -04:00
|
|
|
# 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
|
2021-11-27 10:58:06 -04:00
|
|
|
config.vm.boot_timeout = 1500
|
2018-02-05 22:23:00 -04:00
|
|
|
|
2018-03-31 00:25:39 -03:00
|
|
|
# LTS, EOL April, 2019:
|
|
|
|
config.vm.define "trusty32", autostart: false do |trusty32|
|
2020-01-14 19:39:11 -04:00
|
|
|
trusty32.vm.box = "ubuntu/trusty32"
|
|
|
|
trusty32.vm.provision "trusty32", type: "shell", path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
trusty32.vm.provider "virtualbox" do |vb|
|
2018-03-31 00:25:39 -03:00
|
|
|
vb.name = "ArduPilot (trusty32)"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-03-01 22:59:59 -04:00
|
|
|
# 14.04.5 LTS, EOL April, 2019:
|
2018-02-06 02:05:12 -04:00
|
|
|
config.vm.define "trusty64", autostart: false do |trusty64|
|
2020-01-14 19:39:11 -04:00
|
|
|
trusty64.vm.box = "ubuntu/trusty64"
|
|
|
|
trusty64.vm.provision "trusty64", type: "shell", path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
trusty64.vm.provider "virtualbox" do |vb|
|
2018-03-31 00:25:39 -03:00
|
|
|
vb.name = "ArduPilot (trusty64)"
|
|
|
|
end
|
2018-02-06 02:05:12 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
# LTS, EOL April 2021
|
2018-05-17 00:31:06 -03:00
|
|
|
# this VM is useful for running valgrind on!
|
2018-02-06 02:05:12 -04:00
|
|
|
config.vm.define "xenial32", autostart: false do |xenial32|
|
2020-01-14 19:39:11 -04:00
|
|
|
xenial32.vm.box = "ubuntu/xenial32"
|
|
|
|
xenial32.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
xenial32.vm.provider "virtualbox" do |vb|
|
2018-03-31 00:25:39 -03:00
|
|
|
vb.name = "ArduPilot (xenial32)"
|
|
|
|
end
|
2018-02-06 02:05:12 -04:00
|
|
|
end
|
2020-01-14 19:39:11 -04:00
|
|
|
|
2019-07-05 19:27:06 -03:00
|
|
|
config.vm.define "xenial64", autostart: false do |xenial64|
|
2020-01-14 19:39:11 -04:00
|
|
|
xenial64.vm.box = "ubuntu/xenial64"
|
|
|
|
xenial64.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
xenial64.vm.provider "virtualbox" do |vb|
|
2019-07-05 19:27:06 -03:00
|
|
|
vb.name = "ArduPilot (xenial64)"
|
|
|
|
end
|
|
|
|
end
|
2018-02-06 02:05:12 -04:00
|
|
|
|
2018-03-01 22:59:59 -04:00
|
|
|
# NO LONGER AVAILABLE FOR DOWNLOAD, EOL January 2018
|
2018-02-06 02:05:12 -04:00
|
|
|
# EOL January 2018
|
2018-03-01 22:59:59 -04:00
|
|
|
# Only kept around for those few dev's who have already got this image and continue to use it.
|
2018-02-06 02:05:12 -04:00
|
|
|
config.vm.define "zesty32", autostart: false do |zesty32|
|
2020-01-14 19:39:11 -04:00
|
|
|
zesty32.vm.box = "ubuntu/zesty32"
|
|
|
|
zesty32.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
zesty32.vm.provider "virtualbox" do |vb|
|
2018-03-31 00:25:39 -03:00
|
|
|
vb.name = "ArduPilot (zesty32)"
|
|
|
|
end
|
2018-02-06 02:05:12 -04:00
|
|
|
end
|
|
|
|
|
2018-03-01 22:59:59 -04:00
|
|
|
# 17.10, EOL July 2018
|
2018-12-05 02:26:02 -04:00
|
|
|
# Only kept around for those few dev's who have already got this image and continue to use it; not available for download
|
2018-12-19 06:32:16 -04:00
|
|
|
config.vm.define "artful32", autostart: false do |artful32|
|
2020-01-14 19:39:11 -04:00
|
|
|
artful32.vm.box = "ubuntu/artful32"
|
|
|
|
artful32.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
artful32.vm.provider "virtualbox" do |vb|
|
2018-03-31 00:25:39 -03:00
|
|
|
vb.name = "ArduPilot (artful32)"
|
|
|
|
end
|
2018-02-06 02:05:12 -04:00
|
|
|
end
|
|
|
|
|
2021-05-13 01:46:17 -03:00
|
|
|
# 18.04 LTS EOL April 2023
|
2020-01-14 19:39:11 -04:00
|
|
|
# Only kept around for those few dev's who have already got this image and continue to use it; not available for download
|
2018-02-06 02:05:12 -04:00
|
|
|
config.vm.define "bionic32", autostart: false do |bionic32|
|
2020-01-14 19:39:11 -04:00
|
|
|
bionic32.vm.box = "ubuntu/bionic32"
|
|
|
|
bionic32.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
bionic32.vm.provider "virtualbox" do |vb|
|
2018-03-31 00:25:39 -03:00
|
|
|
vb.name = "ArduPilot (bionic32)"
|
|
|
|
end
|
2018-02-05 22:23:00 -04:00
|
|
|
end
|
|
|
|
|
2021-05-13 01:46:17 -03:00
|
|
|
# 18.04 LTS EOL April 2023
|
2023-07-11 09:48:14 -03:00
|
|
|
config.vm.define "bionic64", autostart: false do |bionic64|
|
2020-01-14 19:39:11 -04:00
|
|
|
bionic64.vm.box = "ubuntu/bionic64"
|
|
|
|
bionic64.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
bionic64.vm.provider "virtualbox" do |vb|
|
2018-05-14 23:52:36 -03:00
|
|
|
vb.name = "ArduPilot (bionic64)"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-05-13 01:46:17 -03:00
|
|
|
# 18.04 LTS EOL April 2023
|
2021-11-27 10:58:06 -04:00
|
|
|
config.vm.define "bionic64-desktop", autostart: false do |bionic64|
|
2021-02-21 22:23:22 -04:00
|
|
|
bionic64.vm.box = "ubuntu/bionic64"
|
|
|
|
bionic64.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
|
|
bionic64.vm.provider "virtualbox" do |vb|
|
|
|
|
vb.name = "ArduPilot (bionic64-desktop)"
|
|
|
|
vb.gui = true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-03-29 20:40:32 -03:00
|
|
|
# 18.10
|
2018-10-19 03:20:33 -03:00
|
|
|
config.vm.define "cosmic32", autostart: false do |cosmic32|
|
2020-01-14 19:39:11 -04:00
|
|
|
cosmic32.vm.box = "ubuntu/cosmic32"
|
|
|
|
cosmic32.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
cosmic32.vm.provider "virtualbox" do |vb|
|
2018-10-19 03:20:33 -03:00
|
|
|
vb.name = "ArduPilot (cosmic32)"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-03-29 20:40:32 -03:00
|
|
|
# 18.10
|
2018-10-19 03:20:33 -03:00
|
|
|
config.vm.define "cosmic64", autostart: false do |cosmic64|
|
2020-01-14 19:39:11 -04:00
|
|
|
cosmic64.vm.box = "ubuntu/cosmic64"
|
|
|
|
cosmic64.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
cosmic64.vm.provider "virtualbox" do |vb|
|
2018-10-19 03:20:33 -03:00
|
|
|
vb.name = "ArduPilot (cosmic64)"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-06-03 21:35:56 -03:00
|
|
|
# 19.04
|
2019-03-29 20:40:32 -03:00
|
|
|
config.vm.define "disco64", autostart: false do |disco64|
|
2020-01-14 19:39:11 -04:00
|
|
|
disco64.vm.box = "ubuntu/disco64"
|
|
|
|
disco64.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
disco64.vm.provider "virtualbox" do |vb|
|
2019-03-29 20:40:32 -03:00
|
|
|
vb.name = "ArduPilot (disco64)"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-06-03 21:35:56 -03:00
|
|
|
# 19.10 - broken; fails to use NamedTemporaryFile to create file for gdb
|
|
|
|
# config.vm.define "eoan", autostart: false do |eoan|
|
|
|
|
# eoan.vm.box = "ubuntu/eoan64"
|
|
|
|
# eoan.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
# eoan.vm.provider "virtualbox" do |vb|
|
|
|
|
# vb.name = "ArduPilot (eoan)"
|
|
|
|
# end
|
|
|
|
# eoan.vm.boot_timeout = 1200
|
|
|
|
# end
|
|
|
|
|
2021-04-29 07:36:15 -03:00
|
|
|
# 20.04 LTS EOL April 2025
|
2020-06-03 21:35:56 -03:00
|
|
|
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
|
2021-02-09 23:09:01 -04:00
|
|
|
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
|
|
|
|
|
2022-08-25 19:00:53 -03:00
|
|
|
# 20.10 EOL July 2021
|
|
|
|
# config.vm.define "groovy", autostart: false do |groovy|
|
|
|
|
# groovy.vm.box = "ubuntu/groovy64"
|
|
|
|
# groovy.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
# groovy.vm.provider "virtualbox" do |vb|
|
|
|
|
# vb.name = "ArduPilot (groovy)"
|
|
|
|
# end
|
|
|
|
# groovy.vm.boot_timeout = 1200
|
|
|
|
# end
|
|
|
|
|
|
|
|
# 21.04 EOL January 2022 apt repo down
|
|
|
|
# config.vm.define "hirsute", autostart: false do |hirsute|
|
|
|
|
# hirsute.vm.box = "ubuntu/hirsute64"
|
|
|
|
# hirsute.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
# hirsute.vm.provider "virtualbox" do |vb|
|
|
|
|
# vb.name = "ArduPilot (hirsute)"
|
|
|
|
# end
|
|
|
|
# hirsute.vm.boot_timeout = 1200
|
|
|
|
# end
|
|
|
|
# config.vm.define "hirsute-desktop", autostart: false do |hirsute|
|
|
|
|
# hirsute.vm.box = "ubuntu/hirsute64"
|
|
|
|
# hirsute.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
|
|
|
|
# hirsute.vm.provider "virtualbox" do |vb|
|
|
|
|
# vb.name = "ArduPilot (hirsute-desktop)"
|
|
|
|
# vb.gui = true
|
|
|
|
# end
|
|
|
|
# hirsute.vm.boot_timeout = 1200
|
|
|
|
# end
|
|
|
|
|
|
|
|
# 21.10 EOL July 2022
|
|
|
|
# config.vm.define "impish", autostart: false do |impish|
|
|
|
|
# impish.vm.box = "ubuntu/impish64"
|
|
|
|
# impish.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
|
|
|
|
# impish.vm.provider "virtualbox" do |vb|
|
|
|
|
# vb.name = "ArduPilot (impish)"
|
|
|
|
# end
|
|
|
|
# impish.vm.boot_timeout = 1200
|
|
|
|
# end
|
2021-11-15 01:10:22 -04:00
|
|
|
|
2022-03-05 22:00:02 -04:00
|
|
|
# 22.04 LTS EOL Apr 2032
|
2023-07-11 09:48:14 -03:00
|
|
|
config.vm.define "jammy", primary: true do |jammy|
|
2022-03-05 22:00:02 -04:00
|
|
|
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
|
2013-04-04 14:52:39 -03:00
|
|
|
|
2023-05-01 04:27:27 -03:00
|
|
|
# 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
|
2023-10-13 23:16:45 -03:00
|
|
|
|
|
|
|
# 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
|
2024-04-25 23:51:05 -03:00
|
|
|
|
|
|
|
# 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
|
2022-03-05 22:00:02 -04:00
|
|
|
end
|