Add support for vagrant-docker (#389)
* clean trailing ws in Vagrantfile and util/avr_setup.sh * replace triple quotes with heredoc. Ruby doesn't have triple quotes; that's a Python thing. This was just being parsed as multiple strings concatenated. * add docker support to Vagrantfile * make wants to find dfu-programmer in vagrant guestmaster
parent
6b8b332f77
commit
fd454e5b74
|
@ -1,88 +1,98 @@
|
||||||
# -*- mode: ruby -*-
|
# -*- mode: ruby -*-
|
||||||
# vi: set ft=ruby :
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
Vagrant.configure(2) do |config|
|
Vagrant.configure(2) do |config|
|
||||||
# You can only have one config.vm.box uncommented at a time
|
# You can only have one config.vm.box uncommented at a time
|
||||||
|
|
||||||
# Comment this and uncomment another if you don't want to use the minimal Arch box
|
# Comment this and uncomment another if you don't want to use the minimal Arch box
|
||||||
config.vm.box = "dragon788/arch-ala-elasticdog"
|
config.vm.box = "dragon788/arch-ala-elasticdog"
|
||||||
|
|
||||||
# VMware/Virtualbox 64 bit
|
# VMware/Virtualbox 64 bit
|
||||||
# config.vm.box = "phusion/ubuntu-14.04-amd64"
|
# config.vm.box = "phusion/ubuntu-14.04-amd64"
|
||||||
#
|
#
|
||||||
# VMware/Virtualbox 64 bit
|
# VMware/Virtualbox 64 bit
|
||||||
#config.vm.box = "puphpet/centos65-x64"
|
#config.vm.box = "puphpet/centos65-x64"
|
||||||
#
|
#
|
||||||
# The opensuse boxes don't have dfu-util in their default repositories
|
# The opensuse boxes don't have dfu-util in their default repositories
|
||||||
#
|
#
|
||||||
# The virtualbox version has tools issues
|
# The virtualbox version has tools issues
|
||||||
# VMware/Virtualbox 64 bit
|
# VMware/Virtualbox 64 bit
|
||||||
#config.vm.box = "bento/opensuse-13.2-x86_64"
|
#config.vm.box = "bento/opensuse-13.2-x86_64"
|
||||||
#
|
#
|
||||||
# Virtualbox only
|
# Virtualbox only
|
||||||
#config.vm.box = "bento/opensuse-13.2-i386"
|
#config.vm.box = "bento/opensuse-13.2-i386"
|
||||||
# config.vm.box = ""
|
# config.vm.box = ""
|
||||||
# config.vm.box = ""
|
# config.vm.box = ""
|
||||||
|
|
||||||
# This section allows you to customize the Virtualbox VM
|
# This section allows you to customize the Virtualbox VM
|
||||||
# settings, ie showing the GUI or upping the memory
|
# settings, ie showing the GUI or upping the memory
|
||||||
# or cores if desired
|
# or cores if desired
|
||||||
config.vm.provider "virtualbox" do |vb|
|
config.vm.provider "virtualbox" do |vb|
|
||||||
# Hide the VirtualBox GUI when booting the machine
|
# Hide the VirtualBox GUI when booting the machine
|
||||||
vb.gui = false
|
vb.gui = false
|
||||||
# Uncomment the below lines if you want to program
|
# Uncomment the below lines if you want to program
|
||||||
# your Teensy via the VM rather than your host OS
|
# your Teensy via the VM rather than your host OS
|
||||||
#vb.customize ['modifyvm', :id, '--usb', 'on']
|
#vb.customize ['modifyvm', :id, '--usb', 'on']
|
||||||
#vb.customize ['usbfilter', 'add', '0',
|
#vb.customize ['usbfilter', 'add', '0',
|
||||||
# '--target', :id,
|
# '--target', :id,
|
||||||
# '--name', 'teensy',
|
# '--name', 'teensy',
|
||||||
# '--vendorid', '0x16c0',
|
# '--vendorid', '0x16c0',
|
||||||
# '--productid','0x0478'
|
# '--productid','0x0478'
|
||||||
# ]
|
# ]
|
||||||
# Customize the amount of memory on the VM:
|
# Customize the amount of memory on the VM:
|
||||||
vb.memory = "512"
|
vb.memory = "512"
|
||||||
end
|
end
|
||||||
|
|
||||||
# This section allows you to customize the VMware VM
|
# This section allows you to customize the VMware VM
|
||||||
# settings, ie showing the GUI or upping the memory
|
# settings, ie showing the GUI or upping the memory
|
||||||
# or cores if desired
|
# or cores if desired
|
||||||
config.vm.provider "vmware_workstation" do |vmw|
|
config.vm.provider "vmware_workstation" do |vmw|
|
||||||
# Hide the VMware GUI when booting the machine
|
# Hide the VMware GUI when booting the machine
|
||||||
vmw.gui = false
|
vmw.gui = false
|
||||||
|
|
||||||
# Customize the amount of memory on the VM:
|
# Customize the amount of memory on the VM:
|
||||||
vmw.memory = "512"
|
vmw.memory = "512"
|
||||||
end
|
end
|
||||||
|
|
||||||
config.vm.provider "vmware_fusion" do |vmf|
|
config.vm.provider "vmware_fusion" do |vmf|
|
||||||
# Hide the vmfare GUI when booting the machine
|
# Hide the vmfare GUI when booting the machine
|
||||||
vmf.gui = false
|
vmf.gui = false
|
||||||
|
|
||||||
# Customize the amount of memory on the VM:
|
# Customize the amount of memory on the VM:
|
||||||
vmf.memory = "512"
|
vmf.memory = "512"
|
||||||
end
|
end
|
||||||
|
|
||||||
# This script ensures the required packages for AVR programming are installed
|
# Docker provider pulls from hub.docker.com respecting docker.image if
|
||||||
# It also ensures the system always gets the latest updates when powered on
|
# config.vm.box is nil. Note that this bind-mounts from the current dir to
|
||||||
# If this causes issues you can run a 'vagrant destroy' and then
|
# /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
|
||||||
# add a # before ,args: and run 'vagrant up' to get a working
|
# image, you'll need to: chmod -R a+rw .
|
||||||
# non-updated box and then attempt to troubleshoot or open a Github issue
|
config.vm.provider "docker" do |docker, override|
|
||||||
|
override.vm.box = nil
|
||||||
config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update"
|
docker.image = "jesselang/debian-vagrant:jessie"
|
||||||
|
docker.has_ssh = true
|
||||||
config.vm.post_up_message = """
|
end
|
||||||
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
|
|
||||||
or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
|
# This script ensures the required packages for AVR programming are installed
|
||||||
|
# It also ensures the system always gets the latest updates when powered on
|
||||||
Change directory (cd) to the keyboard you wish to program
|
# If this causes issues you can run a 'vagrant destroy' and then
|
||||||
(Optionally) modify your layout,
|
# add a # before ,args: and run 'vagrant up' to get a working
|
||||||
then run 'make clean'
|
# non-updated box and then attempt to troubleshoot or open a Github issue
|
||||||
and then 'make' to compile the .eep and .hex files.
|
|
||||||
|
config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update"
|
||||||
Or you can copy and paste the example line below.
|
|
||||||
|
config.vm.post_up_message = <<-EOT
|
||||||
cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
|
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
|
||||||
|
or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
|
||||||
|
|
||||||
"""
|
Change directory (cd) to the keyboard you wish to program
|
||||||
end
|
(Optionally) modify your layout,
|
||||||
|
then run 'make clean'
|
||||||
|
and then 'make' to compile the .eep and .hex files.
|
||||||
|
|
||||||
|
Or you can copy and paste the example line below.
|
||||||
|
|
||||||
|
cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
|
||||||
|
|
||||||
|
|
||||||
|
EOT
|
||||||
|
end
|
||||||
|
|
|
@ -38,8 +38,9 @@ elif [[ -n "$(type -P apt-get)" ]]; then
|
||||||
gcc-avr \
|
gcc-avr \
|
||||||
binutils-avr \
|
binutils-avr \
|
||||||
avr-libc \
|
avr-libc \
|
||||||
|
dfu-programmer \
|
||||||
dfu-util
|
dfu-util
|
||||||
|
|
||||||
elif [[ -n "$(type -P yum)" ]]; then
|
elif [[ -n "$(type -P yum)" ]]; then
|
||||||
# Fedora, CentOS or RHEL and derivatives
|
# Fedora, CentOS or RHEL and derivatives
|
||||||
yum -y makecache && yum -y update
|
yum -y makecache && yum -y update
|
||||||
|
@ -55,6 +56,7 @@ elif [[ -n "$(type -P yum)" ]]; then
|
||||||
avr-binutils \
|
avr-binutils \
|
||||||
avr-gcc \
|
avr-gcc \
|
||||||
avr-libc \
|
avr-libc \
|
||||||
|
dfu-programmer \
|
||||||
dfu-util
|
dfu-util
|
||||||
|
|
||||||
elif [[ -n "$(type -P zypper)" ]]; then
|
elif [[ -n "$(type -P zypper)" ]]; then
|
||||||
|
|
Loading…
Reference in New Issue