Skip to content

Commit

Permalink
Added Vagrantfile to automate setup of build environment
Browse files Browse the repository at this point in the history
  • Loading branch information
matiashf committed Dec 17, 2015
1 parent 542be8f commit 0538c4b
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 2 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Expand Up @@ -29,4 +29,6 @@ vmbuild/vmbuild

*.gz

.DS_Store
.DS_Store

/.vagrant
16 changes: 15 additions & 1 deletion README.md
Expand Up @@ -48,6 +48,21 @@ Here is a video showing how to set it up and get started with IncludeOS:

[![Getting started with IncludeOS video](http://img.youtube.com/vi/b2D6loApw3o/0.jpg)](http://www.youtube.com/watch?v=b2D6loApw3o)

## Building with Vagrant

You can use
[Vagrant](https://github.com/hioa-cs/IncludeOS/wiki/Vagrant) to set up
a virtual machine with the correct environment for building
IncludeOS. The following commands will build and install IncludeOS
into your home directory (`~/IncludeOS_install/`).

```
$ git clone https://github.com/hioa-cs/IncludeOS.git
$ cd IncludeOS
$ vagrant up
$ vagrant ssh --command=/IncludeOS/etc/install_from_bundle.sh
```

## Prerequisites for building IncludeOS VM's
* **Ubuntu 14.04 LTS x86_64**, Vanilla, either on a physical or virtual machine (A virtualbox VM works fine)
* For the full source build, you'll need at least 1024 MB memory
Expand All @@ -57,7 +72,6 @@ Here is a video showing how to set it up and get started with IncludeOS:
* **Building on a Mac:** we have done a successful build from bundle, directly on a Mac. It's a work in progress, but see [./etc/install_osx.sh](./etc/install_osx.sh) for details.
* You'll need `git` to clone from github.


Once you have a system with the prereqs (virtual or not), you can choose a full build from source, or a fast build from binaries:

## A) Install libraries from binary bundle (fast)
Expand Down
25 changes: 25 additions & 0 deletions Vagrantfile
@@ -0,0 +1,25 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "IncludeOS" do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.provider :virtualbox do |vb|
vb.name = "IncludeOS"
end

config.vm.synced_folder ".", "/vagrant", disable: true

config.vm.synced_folder ".", "/IncludeOS", create: true
config.vm.provision "shell",
inline: "echo cd /IncludeOS >> /home/vagrant/.bashrc"

config.vm.synced_folder "~/IncludeOS_install",
"/home/vagrant/IncludeOS_install", create: true

config.vm.provision "shell", inline: "apt-get update && apt-get install -qq git"
end
end

0 comments on commit 0538c4b

Please sign in to comment.