aboutsummaryrefslogtreecommitdiff
path: root/docs/getting_started_vagrant.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting_started_vagrant.md')
-rw-r--r--docs/getting_started_vagrant.md46
1 files changed, 41 insertions, 5 deletions
diff --git a/docs/getting_started_vagrant.md b/docs/getting_started_vagrant.md
index 848a43a1f..b62524271 100644
--- a/docs/getting_started_vagrant.md
+++ b/docs/getting_started_vagrant.md
@@ -1,16 +1,20 @@
1# Vagrant Quick Start 1# Vagrant Quick Start
2 2
3This project includes a Vagrantfile that will allow you to build a new firmware for your keyboard very easily without major changes to your primary operating system. This also ensures that when you clone the project and perform a build, you have the exact same environment as anyone else using the Vagrantfile to build. This makes it much easier for people to help you troubleshoot any issues you encounter. 3This project includes a `Vagrantfile` that will allow you to build a new firmware for your keyboard very easily without major changes to your primary operating system. This also ensures that when you clone the project and perform a build, you have the exact same environment as anyone else using the Vagrantfile to build. This makes it much easier for people to help you troubleshoot any issues you encounter.
4 4
5## Requirements 5## Requirements
6 6
7Using the `/Vagrantfile` in this repository requires you have [Vagrant](http://www.vagrantup.com/) as well as [VirtualBox](https://www.virtualbox.org/) (or [VMware Workstation](https://www.vmware.com/products/workstation) and [Vagrant VMware plugin](http://www.vagrantup.com/vmware) but the (paid) VMware plugin requires a licensed copy of VMware Workstation/Fusion). 7Using the `Vagrantfile` in this repository requires you have [Vagrant](http://www.vagrantup.com/) as well as a supported provider installed:
8 8
9*COMPATIBILITY NOTICE* Certain versions of Virtualbox 5 appear to have an incompatibility with the Virtualbox extensions installed in the boxes in this Vagrantfile. If you encounter any issues with the /vagrant mount not succeeding, please upgrade your version of Virtualbox to at least 5.0.12. **Alternately, you can try running the following command:** `vagrant plugin install vagrant-vbguest` 9* [VirtualBox](https://www.virtualbox.org/) (Version at least 5.0.12)
10 * Sold as 'the most accessible platform to use Vagrant'
11* [VMware Workstation](https://www.vmware.com/products/workstation) and [Vagrant VMware plugin](http://www.vagrantup.com/vmware)
12 * The (paid) VMware plugin requires a licensed copy of VMware Workstation/Fusion
13* [Docker](https://www.docker.com/)
10 14
11Other than having Vagrant and Virtualbox installed and possibly a restart of your computer afterwards, you can simple run a 'vagrant up' anywhere inside the folder where you checked out this project and it will start a Linux virtual machine that contains all the tools required to build this project. There is a post Vagrant startup hint that will get you off on the right foot, otherwise you can also reference the build documentation below. 15Other than having Vagrant, a suitable provider installed and possibly a restart of your computer afterwards, you can simple run a 'vagrant up' anywhere inside the folder where you checked out this project and it will start an environment (either a virtual machine or container) that contains all the tools required to build this project. There is a post Vagrant startup hint that will get you off on the right foot, otherwise you can also reference the build documentation below.
12 16
13# Flashing the Firmware 17## Flashing the Firmware
14 18
15The "easy" way to flash the firmware is using a tool from your host OS: 19The "easy" way to flash the firmware is using a tool from your host OS:
16 20
@@ -19,3 +23,35 @@ The "easy" way to flash the firmware is using a tool from your host OS:
19* [Atmel FLIP](http://www.atmel.com/tools/flip.aspx) 23* [Atmel FLIP](http://www.atmel.com/tools/flip.aspx)
20 24
21If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version. 25If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version.
26
27## Vagrantfile Overview
28The development environment is configured to run the QMK Docker image, `qmkfm/base_container`. This not only ensures predictability between systems, it also mirrors the CI environment.
29
30## FAQ
31
32### Why am I seeing issues under Virtualbox?
33Certain versions of Virtualbox 5 appear to have an incompatibility with the Virtualbox extensions installed in the boxes in this Vagrantfile. If you encounter any issues with the /vagrant mount not succeeding, please upgrade your version of Virtualbox to at least 5.0.12. **Alternately, you can try running the following command:**
34
35```console
36vagrant plugin install vagrant-vbguest
37```
38
39### How do I remove an existing environment?
40Finished with your environment? From anywhere inside the folder where you checked out this project, Execute:
41
42```console
43vagrant destory
44```
45
46### What if I want to use Docker directly?
47Want to benefit from the Vagrant workflow without a virtual machine? The Vagrantfile is configured to bypass running a virtual machine, and run the container directly. Execute the following when bringing up the environment to force the use of Docker:
48```console
49vagrant up --provider=docker
50```
51
52### How do I access the virtual machine instead of the Docker container?
53Execute the following to bypass the `vagrant` user booting directly to the official qmk builder image:
54
55```console
56vagrant ssh -c 'sudo -i'
57``` \ No newline at end of file