// -*- mode:doc; -*-
// vim: set syntax=asciidoc:

[[getting-buildroot]]
== Getting Buildroot

Buildroot releases are made every 3 months, in February, May, August and
November. Release numbers are in the format YYYY.MM, so for example
2013.02, 2014.08.

Release tarballs are available at http://buildroot.org/downloads/[].

For your convenience, a https://www.vagrantup.com/[Vagrantfile] is
available in `support/misc/Vagrantfile` in the Buildroot source tree
to quickly set up a virtual machine with the needed dependencies to
get started.

If you want to setup an isolated buildroot environment on Linux or Mac
Os X, paste this line onto your terminal:

--------------------
curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up
--------------------

If you are on Windows, paste this into your powershell:

--------------------
(new-object System.Net.WebClient).DownloadFile(
"https://buildroot.org/downloads/Vagrantfile","Vagrantfile");
vagrant up
--------------------

If you want to follow development, you can use the daily snapshots or
make a clone of the Git repository. Refer to the
http://buildroot.org/download[Download page] of the Buildroot website
for more details.
