Commit 778026b9 authored by Angelo Compagnucci's avatar Angelo Compagnucci Committed by Peter Korsgaard
Browse files

support/misc: Adding Vagrant file for provisioning



This patch adds a Vagrant file to buildroot. With this file
you can provision a complete buildroot developing environment
in minutes on all major platforms (Linux/Mac/Windows).

[Peter: bump to 2GB RAM, hardcode Buildroot release, add unzip,
	drop website update and tweak manual text as suggested by Yann]
Signed-off-by: default avatarAngelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent e6d1a207
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -10,6 +10,24 @@ November. Release numbers are in the format YYYY.MM, so for example

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:

--------------------
wget 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
+56 −0
Original line number Diff line number Diff line
################################################################################
#
# Vagrantfile
#
################################################################################

# Buildroot version to use
RELEASE='2015.11.1'

### Change here for more memory/cores ###
VM_MEMORY=2048
VM_CORES=1

Vagrant.configure('2') do |config|
	config.vm.box = 'ubuntu/trusty64'

	config.vm.provider :vmware_fusion do |v, override|
		v.vmx['memsize'] = VM_MEMORY
		v.vmx['numvcpus'] = VM_CORES
	end

	config.vm.provider :virtualbox do |v, override|
		v.memory = VM_MEMORY
		v.cpus = VM_CORES

		required_plugins = %w( vagrant-vbguest )
		required_plugins.each do |plugin|
		  system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin
		end
	end

	config.vm.provision 'shell' do |s|
		s.inline = 'echo Setting up machine name'

		config.vm.provider :vmware_fusion do |v, override|
			v.vmx['displayname'] = "Buildroot #{RELEASE}"
		end

		config.vm.provider :virtualbox do |v, override|
			v.name = "Buildroot #{RELEASE}"
		end
	end

	config.vm.provision 'shell', inline:
		"sudo dpkg --add-architecture i386
		sudo apt-get -q update
		sudo apt-get -q -y install build-essential libncurses5-dev \
			git bzr cvs mercurial subversion libc6:i386 unzip
		sudo apt-get -q -y autoremove
		sudo apt-get -q -y clean"

	config.vm.provision 'shell', privileged: false, inline:
		"echo 'Downloading and extracting buildroot #{RELEASE}'
		wget -q -c http://buildroot.org/downloads/buildroot-#{RELEASE}.tar.gz
		tar axf buildroot-#{RELEASE}.tar.gz"
end