-
Notifications
You must be signed in to change notification settings - Fork 20.7k
Expand file tree
/
Copy pathVagrantfile
More file actions
146 lines (134 loc) · 6.05 KB
/
Vagrantfile
File metadata and controls
146 lines (134 loc) · 6.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# -*- 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 --exclude=/build/ --delete-excluded # real 50s
# time (cd $HOME/ardupilot && ./waf configure --board=fmuv2 && ./waf build --target=bin/ardusub) # ~4 minutes
# time (cd $HOME/ardupilot && ./waf configure --board=fmuv3 && ./waf build --target=bin/ardusub) # ~4 minutes (after building fmuv2)
# time (cd $HOME/ardupilot && ./waf configure --board=navio2 && ./waf build --target=bin/arduplane) # ~6 minutes
# 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
# Ubuntu releases: https://releases.ubuntu.com
# https://ubuntu.com/about/release-cycle -- Try here first and then fall back to:
# https://en.wikipedia.org/wiki/Ubuntu_version_history#Table_of_versions
# 22.04 LTS Standard Support EOL May 2027
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
# 22.04 LTS Standard Support EOL May 2027
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
# 24.04 LTS Standard Support EOL May 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
# 25.04 Standard Support EOL Jan 2026
# note the use of "alvistack" here; Ubuntu stopped providing Vagrant
# images due to Hashicorp adopting the "Business Source License".
config.vm.define "plucky", autostart: false do |plucky|
plucky.vm.box = "alvistack/ubuntu-25.04"
plucky.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
plucky.vm.provider "virtualbox" do |vb|
vb.name = "ArduPilot (plucky)"
end
plucky.vm.boot_timeout = 1200
end
config.vm.define "plucky-desktop", autostart: false do |plucky|
plucky.vm.box = "alvistack/ubuntu-25.04"
plucky.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
plucky.vm.provider "virtualbox" do |vb|
vb.name = "ArduPilot (plucky-desktop)"
vb.gui = true
end
plucky.vm.boot_timeout = 1200
end
# 25.10 Standard Support EOL Jul 2026
# note the use of "alvistack" here; Ubuntu stopped providing Vagrant
# images due to Hashicorp adopting the "Business Source License".
config.vm.define "questing", autostart: false do |questing|
questing.vm.box = "alvistack/ubuntu-25.10"
questing.vm.provision :shell, path: "Tools/vagrant/initvagrant.sh"
questing.vm.provider "virtualbox" do |vb|
vb.name = "ArduPilot (questing)"
end
questing.vm.boot_timeout = 1200
end
config.vm.define "questing-desktop", autostart: false do |questing|
questing.vm.box = "alvistack/ubuntu-25.10"
questing.vm.provision :shell, path: "Tools/vagrant/initvagrant-desktop.sh"
questing.vm.provider "virtualbox" do |vb|
vb.name = "ArduPilot (questing-desktop)"
vb.gui = true
end
questing.vm.boot_timeout = 1200
end
end