Skip to content

90 minutes to setup dvmdostem

Tobey Carman edited this page Sep 24, 2015 · 1 revision

Overview

There are many ways to set yourself up to use and work with dmvdostem. Each has its tradeoffs, and it is up to you to pick the best option for your habits, needs, and workflow. Here are several options:

  1. Hardware installation; Dual boot or standalone machine - the OS installation and setup process is basically the same.
  2. A hand built Virtual Machine (VM), provided by VirtualBox, probably with GUI/desktop environment.
  3. A Vagrant built VM, provided by VirtualBox, probably a server (no desktop environment) accessed by ssh.

Expect to sink several hours into whichever setup process you choose.

Hardware installation

  • Should be very performant - you don't have the overhead of virtualization.
  • You either need a dedicated machine for Linux or will need to partition your hard drive and dual-boot.
  • If you dual boot, you will have to shutdown your computer when switching operating systems.
  • You will need to manage the software installation and configuration on your system.
  • dvmdostem has been shown to work on recent releases of Ubuntu and Fedora. Other systems may work as well.
  • Other Tradeoffs?

Setup notes

  • Recommend consulting the Vagrantfile for the list and order of packages to install.
  • Highly recommend making sure that your prompt will show which git branch you have checked out!!

Hand Built VM

  • You can run the dvmdostem environment in parallel with your normal Operating System without shutting down.
  • You will need enough RAM, and Hard drive space to run a VirtualMachine.
  • You may have to adjust something in your computer's BIOS to allow virutalization
  • Performance may not be very good, especially for animated graphical tasks, such as the calibration plotting. Especially true if you can't allocate enough RAM and disk space.
  • You will have to install and manage the virtual machine's software.
  • There are many small adjustments that make working on the Virtual Machine more or less comfortable, and it can be time consuming to track these down. Guest additions should fix most of these issues, but can be tricky to install.E.g.:
  • flexible screen size
  • networking
  • shared clipboards
  • more?
  • Setup notes?

Vagrant Built VM

"Vagrant" is a tool to help provide a standardized and quick-to-setup development environment for working with dvmdostem. The goal of using Vagrant is that you can have a fully functioning dvmdostem running in less than 15 minutes.

Vagrant is a tool that helps in creating and managing virtual machine environments. Vagrant does not actually provide the Virtual Macine, so you also need a Virtualization Software on you computer. Virtual Box is reccomended becuase a) we have tried it and b) it is free.

  • Once you have your host correctly setup, it is easy to setup and tear-down a complete development environment
  • Development environments are easily managed and controlled
  • It is possible to have several different development environments on one host computer
  • If you somehow ruin the development environment, you can simply re-create it.
  • Allows standardization between the development environments for different team members
  • May require special knowledge (git, ssh, ssh-agent) to get the host setup correctly. For the general setup notes, see the shorter tutorial: 30-minutes-to-dvm-dos-tem.

Special Note for Windows Hosts: To get ssh and other tools, install Cygwin/X

  • Make sure to install various x-tools, git, openssh, more? Open a cygwin shell
  • One time only:
  • create keys ssh-keygen -t rsa
  • Each time you open a shell:
  • Start ssh-agent: eval ssh-agent -s
  • Add key to agent: ssh add ~/.ssh/id_rsa
  • After cloning, but before running vagrant up, make sure that all the files in your dvm-dos-tem/vagrant directory have Unix style line-endings.

Roughly, the steps to running dvmdostem with Vagrant and Virtual Box are (should be?):

  1. Download and install VirtualBox on your computer. Install the Extension Pack too.

  2. Downlaod and install Vagrant on your computer.

  3. Make sure you have a decent Terminal or command prompt prgram installed on your computer.

  4. Make sure you have an X Server installed on your computer.

  5. Make sure you has ssh-keys and ssh-agent working.

  6. Clone the dvmdostem repository from Github to your local computer.

  7. Change into your freshly cloned repository and type:

    $ vagrant up

  8. Get a shell into your freshly started virtual machine:

    $ vagrant ssh

Congratulations! You now have a fresh and clean development environment for working with dvmdostem! All the correct software should be installed, and the repository should have been cloned from github and exist in your the home directory on your new Virtual Machine. Now to run the model (once logged into your new machine with vagrant ssh):

  1. Change into the right directory:

    $ cd dvm-dos-tem

  2. Compile the code:

    $ make

  3. Run the model:

    $ ./dvmdostem --help

Choose your settings and your are off to the races!>