diff --git a/README-Vagrant.md b/README-Vagrant.md new file mode 100644 index 000000000..7d3ea1957 --- /dev/null +++ b/README-Vagrant.md @@ -0,0 +1,42 @@ +## Quick Start with Vagrant + +First, you'll need to [install vargrant](https://www.vagrantup.com/downloads.html) on your host box. You'll also need to install a plug-in that will enable us to resize the primary storage device. Without it, Vagrant images are too small to build Armbian. + + vagrant plugin install vagrant-disksize + +Now we'll need to [install git](https://git-scm.com/downloads) and check out the Armbian code. While this might seem obvious, we'll rely on it being there when we use Vagrant. + + # Check out the code. + git clone --depth 1 https://github.com/igorpecovnik/lib.git lib + + # Make the Vagrant box available. This might take a while but only needs to be done once. + vagrant box add ubuntu/xenial64 + + # If the box gets updated by the folks at HashiCorp, we'll want to update our copy too. + # This only needs done once and a while. + vagrant box update + + # Finally! Let's bring the box up. This might take a minute or two. + cd lib + vagrant up + + # When the box has been installed we can get access via ssh. + vagrant ssh + +Once it's finally up and you're logged in, it works much like any of the other install (note: these commands are run on the *guest* box). + + cp lib/compile.sh . + sudo ./compile.sh + +There are two directories that are mapped from the host to the guest: + +* You'll find the git repo is shared, and +* The *output* directory is also shared (makes it easy to preserve cache, downloads, and IOSs between builds). It also makes them easily accessible on your host box. + +Wrap up your vagrant box when no longer needed (log out of the guest before running these on the host system): + + # Shutdown, but leave the box around for more building at a later time: + vagrant halt + + # Trash the box and remove all the related storage devices. + vagrant destroy diff --git a/README.md b/README.md index baf95879f..2da868759 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ http://www.armbian.com Supported build environments: - [Ubuntu Xenial 16.04 x64](http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso) guest inside a [VirtualBox](https://www.virtualbox.org/wiki/Downloads) or other virtualization software, -- [Ubuntu Xenial 16.04 x64](http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso) guest managed by [Vagrant](https://www.vagrantup.com/). This uses Virtualbox (as above) but does so in an easily repeatable way, +- [Ubuntu Xenial 16.04 x64](http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso) guest managed by [Vagrant](https://www.vagrantup.com/). This uses Virtualbox (as above) but does so in an easily repeatable way. Please check the [Armbian with Vargant README](https://github.com/igorpecovnik/lib/blob/master/README-Vagrant.md) for a quick start HOWTO, - [Ubuntu Xenial 16.04 x64](http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso) inside a [Docker](https://www.docker.com/), [systemd-nspawn](https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html) or other container environment [(example)](https://github.com/igorpecovnik/lib/pull/255#issuecomment-205045273). Building full OS images inside containers may not work, so this option is mostly for the kernel compilation, - [Ubuntu Xenial 16.04 x64](http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso) running natively on a dedicated PC or a server, - [Ubuntu Trusty 14.04 x64](http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/mini.iso) may still be used for the kernel compilation but it is not recommended, @@ -38,49 +38,6 @@ or pass this option as a command line parameter like to display the kernel configuration menu during the compilation process -## Quick Start with Vagrant - -First, you'll need to [install vargrant](https://www.vagrantup.com/downloads.html) on your host box. You'll also need to install a plug-in that will enable us to resize the primary storage device. Without it, Vagrant images are too small to build Armbian. - - vagrant plugin install vagrant-disksize - -Now we'll need to [install git](https://git-scm.com/downloads) and check out the Armbian code. While this might seem obvious, we'll rely on it being there when we use Vagrant. - - # Check out the code. - git clone --depth 1 https://github.com/igorpecovnik/lib.git lib - - # Make the Vagrant box available. This might take a while but only needs to be done once. - vagrant box add ubuntu/xenial64 - - # If the box gets updated by the folks at HashiCorp, we'll want to update our copy too. - # This only needs done once and a while. - vagrant box update - - # Finally! Let's bring the box up. This might take a minute or two. - cd lib - vagrant up - - # When the box has been installed we can get access via ssh. - vagrant ssh - -Once it's finally up and you're logged in, it works much like any of the other install (note: these commands are run on the *guest* box). - - cp lib/compile.sh . - sudo ./compile.sh - -There are two directories that are mapped from the host to the guest: - -* You'll find the git repo is shared, and -* The *output* directory is also shared (makes it easy to preserve cache, downloads, and IOSs between builds). It also makes them easily accessible on your host box. - -Wrap up your vagrant box when no longer needed (log out of the guest before running these on the host system): - - # Shutdown, but leave the box around for more building at a later time: - vagrant halt - - # Trash the box and remove all the related storage devices. - vagrant destroy - More info: - [Documentation](http://www.armbian.com/using-armbian-tools/)