User Tools

Site Tools


Joomla says you aren't logged in
development:docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
development:docker [2016/05/09 17:53]
HappyHarry [Setting up the Docker Container]
development:docker [2017/04/10 01:08] (current)
mwm Add docker toolbox reference
Line 11: Line 11:
 If you are using a Linux PC, you need: If you are using a Linux PC, you need:
   * A 64bit variant of Linux   * A 64bit variant of Linux
-I do not believe there are any special requirements for Mac users.+If you are using a Mac, you need: 
 +  * A 2010 or newer Mac with virtualization support. 
 +  * MacOS 10.11 or later. 
 + 
 +The [[https://​www.docker.com/​products/​docker-toolbox|Docker Toolbox]] legacy product may work on Windows or Mac that don't meet those requirements.
  
 Next you must install Docker. ​ Instructions for all operating systems can be found on the Docker site [[https://​docs.docker.com/​engine/​installation/​ | here]] Next you must install Docker. ​ Instructions for all operating systems can be found on the Docker site [[https://​docs.docker.com/​engine/​installation/​ | here]]
Line 48: Line 52:
 To get started run: ''​docker start -i deviation_build''​ To get started run: ''​docker start -i deviation_build''​
  
-Once your started the Docker container, it will update to the latest version of the build script, and then will try to checkout deviation if you did not provide a GIT repo.  Next a menu will be shown which allows you to choose what you would like to build.+Once you'​ve ​started the Docker container, it will update to the latest version of the build script, and then will try to checkout deviation if you did not provide a GIT repo.  Next a menu will be shown which allows you to choose what you would like to build.
  
 {{:​development:​docker_screen.png?​600|}} {{:​development:​docker_screen.png?​600|}}
  
-Initially, '​default' ​an '​emu_default'​ are selected. ​ This will build all zip files that are normally part of a nightly build.+Initially, '​default' ​and '​emu_default'​ are selected. ​ This will build all zip files that are normally part of a nightly build.
  
 The '​Shell'​ command will provide an interactive Linux shell inside the image. ​ This is likely only useful for developers or users familiar with Linux The '​Shell'​ command will provide an interactive Linux shell inside the image. ​ This is likely only useful for developers or users familiar with Linux
Line 61: Line 65:
  
 Next time you need to create a new Deviation firmware just follow the instructins in this last section again: [[#Building Deviation]] Next time you need to create a new Deviation firmware just follow the instructins in this last section again: [[#Building Deviation]]
 +
 +==== Developing with Docker ====
 +The Docker image has been setup with a mechanism to launch a build directly from the native OS.  you must have mounted the git repository as an external volume (see above). ​ The Deviation repository includes a script called '​dmake'​ in its root directory. ​ If you call '​dmake'​ rather than '​make'​ it will use a pre-created docker container to run the command specified.
 +
 +For instance:
 +''​dmake zip_wine_emu_devo12''​
 +will build the Windows Devo12 emulator and create a zip file from it.
 +
 +Note that unlike using the gui included with the Docker image, the results will not be copied to the /release directory, and instead will remain in the deviation/​src dir.  Also, any pre-configuration needs to be done through the docker image gui (for instance if you want to build the windows emulator, you must have built it once through the gui to make sure all required software is installed)
 +
 +==== Building the Deviation Manual ====
 +The docker image is also capable of building the deviation manual.
 +After creating the Docker container, start docker and enter the Shell.
 +Run: ''​%%sudo /​root/​build.py --manual-prereq%%''​ to install the necessary build environment
 +
 +Next (still from the docker shell), run:
 +''​cd /git; git clone https://​github.com/​DeviationTX/​deviation-manual''​
 +
 +You can now build the manual using make or dmake.
 +
 +For instance, from within the docker shell run:
 +''​cd deviation-manual;​ make TARGET=devo10 html pdf''​
 +
 +Or from outside the docker shell (note that this assumes you have added dmake to your PATH):
 +''​cd <path to git repo>/​deviation-manual''​
 +
 +''​dmake TARGET=devo8 html pdf''​
 +
development/docker.1462841581.txt.gz (166058 views) · Last modified: 2016/05/09 17:53 by HappyHarry