forked from mirrors/qmk_firmware
Adding update of vagrant VM every time it is booted
This commit is contained in:
parent
ab7d6dca41
commit
ee424f8608
2 changed files with 46 additions and 14 deletions
50
Vagrantfile
vendored
50
Vagrantfile
vendored
|
@ -2,8 +2,25 @@
|
||||||
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# config.vm.box = "phusion/ubuntu-14.04-amd64"
|
||||||
|
#
|
||||||
|
# VMware/Virtualbox 64 bit
|
||||||
|
# config.vm.box = "puphpet/centos65-x64"
|
||||||
|
#
|
||||||
|
# VMware/Virtualbox 64 bit
|
||||||
|
# config.vm.box = "bento/opensuse-13.2-x86_64"
|
||||||
|
#
|
||||||
|
# Virtualbox only
|
||||||
|
# config.vm.box = "bento/opensuse-13.2-i386"
|
||||||
|
# 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
|
||||||
|
@ -21,25 +38,32 @@ Vagrant.configure(2) do |config|
|
||||||
config.vm.provider "vmware" do |vmw|
|
config.vm.provider "vmware" 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
|
||||||
|
|
||||||
# This ensures the system always gets the latest updates when powered on
|
# This script ensures the required packages for AVR programming are installed
|
||||||
|
# It also ensures the system always gets the latest updates when powered on
|
||||||
# If this causes issues you can run a 'vagrant destroy' and then
|
# If this causes issues you can run a 'vagrant destroy' and then
|
||||||
# comment out these three lines and run 'vagrant up' to get a working
|
# add a # before ,args: and run 'vagrant up' to get a working
|
||||||
# non-updated box and then attempt to troubleshoot after it has started
|
# non-updated box and then attempt to troubleshoot or open a Github issue
|
||||||
#
|
|
||||||
config.vm.provision "shell", run: "always", inline: <<-SHELL
|
|
||||||
sudo pacman -Syu --needed --noconfirm
|
|
||||||
SHELL
|
|
||||||
|
|
||||||
# Allow user to speed up package installs using powerpill/wget tweaks
|
config.vm.provision "shell", run: "always", path: "avr_setup.sh", args: "-update"
|
||||||
# Always run the pacman mirror update script if possible when vagrant comes up
|
|
||||||
# This will ensure that users never get stalled on a horribly slow mirror
|
|
||||||
|
|
||||||
config.vm.provision "shell", path: "avr_setup.sh"
|
config.vm.post_up_message = """
|
||||||
|
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
|
||||||
|
or 'vagrant ssh-config' and Putty or another SSH tool
|
||||||
|
|
||||||
config.vm.post_up_message = """Change directory to the keyboard you wish to program and modify your layout, then run 'make clean' and 'make' to compile the .eep and .hex files."""
|
Change directory to the keyboard you wish to program
|
||||||
|
optionally and modify your layout,
|
||||||
|
then run 'make clean'
|
||||||
|
and then 'make' to compile the .eep and .hex files.
|
||||||
|
|
||||||
|
Or you can copy and paste the line below.
|
||||||
|
|
||||||
|
cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
end
|
end
|
||||||
|
|
10
avr_setup.sh
10
avr_setup.sh
|
@ -6,18 +6,26 @@
|
||||||
|
|
||||||
if [[ -n "$(type -P pacman )" ]]; then
|
if [[ -n "$(type -P pacman )" ]]; then
|
||||||
# Arch linux and derivatives like Apricity
|
# Arch linux and derivatives like Apricity
|
||||||
pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-utils
|
# Future improvements:
|
||||||
|
# Allow user to speed up package installs using powerpill/wget tweaks
|
||||||
|
# Always run the pacman mirror update script if possible when vagrant comes up
|
||||||
|
# This will ensure that users never get stalled on a horribly slow mirror
|
||||||
|
pacman -Syyu --needed --noconfirm
|
||||||
|
pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-util
|
||||||
|
|
||||||
elif [[ -n "$(type -P apt-get)" ]]; then
|
elif [[ -n "$(type -P apt-get)" ]]; then
|
||||||
# Debian and derivatives
|
# Debian and derivatives
|
||||||
|
apt-get update -y && apt-get upgrade -y
|
||||||
apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
|
apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
|
||||||
|
|
||||||
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 install gcc glibc-headers kernel-devel kernel-headers make perl git wget
|
yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget
|
||||||
|
|
||||||
elif [[ -n "$(type -P zypper)" ]]; then
|
elif [[ -n "$(type -P zypper)" ]]; then
|
||||||
# openSUSE
|
# openSUSE
|
||||||
|
zypper refresh --non-interactive && zypper update --non-interactive
|
||||||
zypper --non-interactive install git make gcc kernel-devel patch wget
|
zypper --non-interactive install git make gcc kernel-devel patch wget
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue