Virtual Machine & Docker Setup

A typical Windows 10 installation does not include several of the tools needed to run the GridAPPS-D Platform Several software packages need to be installed prior to installing GridAPPS-D in the next step

Installation Steps:

It is also possible to use Virtualbox to create a virtual Ubuntu Linux machine. This approach may be used if it is desired to use Eclipse, etc. for Java development. However, performance of Virtualbox is significantly worse than WSL2 for running GridAPPS-D simulations and python application development.


System Requirements

  • OS:

    • Windows 10, Version 2004 or higher, with Build 19041 or higher

  • RAM:

    • 8GB (absolute minimum for 13 and 123 node models, may encounter memory overload during installation );

    • 16GB (preferred for small models, minimum for 8500/9500 node models);

    • 32GB (recommended for application development)

  • Disk Space:

    • 15GB required for installation

Note: The download size is quite large, so it is recommended to use a fiber or ethernet interent connection, rathered than a metered hotspot to avoid excessive data usage charges.


Windows 10 OS Build Requirments

To check your OS build, type winver in the Cortana seach bar:

win-setup-run-winver

Check to see if your OS is

  • For x64 systems: Version 1903 or higher, with Build 18362 or higher.

  • For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.

win-setup-goodbad-winver

If not, run Windows Update to get the latest verion of Windows 10 available for your machine. It may take some time for the new OS to download. Multiple restarts are typical while upgrading the windows version.


Disconnect from Corporate VPN

There is a known issue with WSL2 and some corporate / laboratory VPNs. During WSL2 and docker installation, the Domain Name Server is set to that of your corporate intranet if your machine is connected to a VPN. This will cause issues when accessing github, etc. from within WSL2.

This issue has also been reported by users using Virtualbox VMs.

Install Windows Subsystem for Linux

GridAPPS-D and the associated docker containers will run using the Windows Subsystem for Linux (WSL), which is a new feature to Windows 10 that enables linux code to run natively in Windows without a separate virtual machine. The steps in this section are also available on the Microsoft website

Enable WSL

Open Windows PowerShell as an administrator:

open-powershell

Enable WSL by entering

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

enable-wsl2

Then, without restarting, enable the virtual machine platform by entering

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

enable-VM

When completed, restart your machine. It may take a few minutes for the new settings to be applied while restarting.


Upgrade to WSL2

Download the latest WSL2 package .msi installer from the Microsoft repository

Run the update package to install WSL2 using the wizard:

WSL-wizard

Open Windows PowerShell again and update the settings to use WSL2 by entering

wsl --set-default-version 2


Install Linux Ubuntu OS

Open the Microsoft Store app, and search for Ubuntu and install the desired version (available versions are 16.04, 18.04, and 20.04)

ubuntu-store

When it has finished downloading, click Launch.

ubuntu-launch


Set up Ubuntu in WSL

Wait for the Ubuntu OS to install.

ubuntu-setup

Select a username and password. These do not need to be the same as your Windows or Microsoft Account login.

ubuntu-username2


Install Docker for Windows

Download and run Docker Desktop for Windows from Docker Hub

Be sure to select “Install required components for WSL2

docker-wizard

After restarting your machine, Docker should start automatically, and you will see a notification stating “Linux WSL2 containers are starting

containers-starting