CU CS Virtual Machine

Summer 2018 Edition

The CU CS VM provides a free, local Linux-based development system similar to what we run in our labs. It is primarily used in CS undergraduate courses to ensure all students, teachers, and TAs are using the same standardized environment.

Here you can find information on obtaining, installing, using, and troubleshooting the CU CS Virtual Machine.

If you would like to setup the VM yourself, scroll down or use the navigation links above to continue.

IMPORTANT CHANGES AS OF SUMMER 2018 --- READ THIS

ordered from most to least recent change

  • Due to kernel panic issues with the previous VMs for Summer and Spring 2018, a new Summer version has been released. The download links below will give you the image for Summer 2018 version 2 --- if you are having problems with your VM launching and downloaded the image BEFORE 06/20/2018, we recommend downloading and installing the new version in its place.
  • the VM will NOT be distributed through flash drives or during recitations any more. To obtain the VM, you will need to use one of the links below to download your own copy.
  • Starting in Fall 2017, we switched from Oracle VirtualBox to VMware Fusion/Workstation for running the VM. Please see the instructions beneath install for details on installing VMware

Getting Help

If you are having difficulty downloading, installing, or running the VM, please come by Ethan Hanner's lab in ENVD 201 during the following times:

Thursday 6/21/18

  • 11:30am - 3pm
  • later in the afternoon by request

Friday 6/22/18

  • 11:30am - 2:30pm

Monday 6/25/18

  • 2:30pm - 4:30pm

Tuesday 6/26/18

  • 11:30am - 2pm

Note: If you need to set up another time or would like to get help remotely, contact Ethan at help@cs.colorado.edu.

Obtain

Methods

The CU CS VM download is available in two versions: BitTorrent and HTTP

We recommend using the BitTorrent download; it is faster and less prone to errors than the HTTP method. To use BitTorrent, you'll need to first install a BitTorrent Client. If you do not already have a BitTorrent client installed, we recommend qTorrent for OSX or Windows, and Transmission for Linux.

Downloads

The VM can be downloaded via the links below:

If you are experiencing difficulty either downloading or installing the VM, please email Ethan Hanner at help@cs.colorado.edu or come by ENVD 201 during office hours (see times above).

Install

System Requirements

To run smoothly, the VM requires a minimum of:

  • 4GB of RAM
  • Intel or AMD processor with virtualization support (VT-x or AMD-V)
  • 2 physical processor cores (dual-core)
  • 50GB of free HD space
  • A modern 64-bit OS (Windows 7 or newer, OSX 10.7 or newer, or Linux 3.0 or newer)

VMware Hypervisor

The first step to installing the VM is to install VMware. This is the hypervisor that we will use to run the VM.

Obtaining a license key for VMware

All students either majoring in CS or enrolled in a CS class will automatically receive an email at the start of the semester with a link to complete registration on the vmware webstore. The email will come from "University of Colorado - Department of Computer Science" with the subject line "An account has been created for you". Follow the instructions in this email to complete your registration. Once you are registered and logged in, you can access the software downloads page.

To return to this store in the future, retain a copy of either the registration email or the subsequent account confirmation email and use the link inside to access the webstore. If you see an error message about already being registered or that there are no products to display, click the sign in link near the top right of the page and log in with your firstname.lastname@colorado.edu email address and the password you set when you registered the account on the webstore.

Returning Students: If you already received an email and registered on the webstore in Fall 2017, then you WILL NOT receive another email. You can access the webstore through the link in your email from last semester and log in with the same account details. If you already have VMware Workstation or VMware Fusion installed and running on your PC, then you do not need to update and can simply install the new version of our VM into your existing VMware installation.

If you did not receive or can not find your registration email, please contact help@cs.colorado.edu and provide your name and @colorado.edu email address.

Install VMware

Windows/Linux

If you are running a Windows or Linux operating system, click on the icon for VMware Workstation and follow the instructions to add to cart, checkout, and download the software (you will not be charged for this). You will receive a serial number that you will need to copy into the program the first time you run it. Within the program itself, this code is referred to as a license key.

Note: For Spring 2018, the VM is supported in both Workstation 12 and Workstation 14 and will work identically.

Mac OS

If you are running a Mac operating system, click on the icon for VMware Fusion 8 or VMware Fusion 10 and follow the instructions to add to cart checkout, and download the software. Make note of your serial number as you will need to provide it once you are running the program.

Note: For Spring 2018, the VM is supported in both Fusion 8 and Fusion 10 and will work identically.

Import VM Image

Once VMware has been installed, we need to import the CU CS VM image. To complete this process:

  1. Locate the zipped folder you downloaded above on your PC.
  2. Extract the files in this folder and locate the VM image file (.ovf file)
  3. Launch VMware (installed above)
  4. From the VMware home screen, select Open a Virtual Machine (for VMware Fusion users, look for the add button and choose Import existing VM)
  5. In the Import window that pops up, use the file picker to select the *.ovf VM image file from Step #2
  6. Select Next
  7. You may get an error message about the OVF file format; if you do, click retry. It will tell you that the VM may not work if you do this -- don't worry about this.
  8. Wait for the import process to complete: this may take 5 to 15 minutes depending on the speed of your PC.
  9. When the import process has completed, you'll be taken to the VMware tab for your new VM. You can launch the VM from here by clicking the play button.
usage

The VM runs a variant of Ubuntu 16.04 GNU/Linux called Xubuntu. GNU/Linux is a Free operating system popular amongst programmers and other advanced computer users. It is also the OS behind many embedded systems (e.g. cars, thermostats, etc), smart phones (e.g. Android), and most of the world wide web.

Basics

To launch the VM, select it in the left-side VirtualBox VM list and either double-click or select the green Start button at the top of the VirtualBox window. The VM will launch in its own window. After completing the boot process (you may see a black screen with scrolling text for a few moments), the VM will present a the desktop. Once the VM has booted you may:

  • Resize the VM window: the desktop should resize itself to accommodate your desired window size
  • Launch any of the installed VM programs (e.g. Geany, terminal, etc)
  • Install new VM programs using the apt package manager
  • Change VM settings
  • Etc

From a UI perspective, the VM behaves a lot like other OSes you may be familiar with such as OSX or Windows. The basics of how to complete the above actions are available on the VM's desktop background. Further details can be found via Google.

When you are done using the VM, please shut it down gracefully: use the top-bar menu icon to select the Shut Down or Log Out button, select the Shut Down option, and then wait for the VM window to close automatically once the VM has shut down.

Transferring Data to/from the VM

The VM behaves as if it's a separate computer form the machine you run it on. Thus, we must transfer data to or from the VM fairly regularly. There are a variety of methods for doing this:

  • Use Dropbox to sync all VM data to your local machine
  • Use git to sync your code/data to a cloud-based site like GitHub
  • Use VirtualBox's shared-folders feature to move data between the VM and your local machine
  • Use email to send your files to yourself
  • Use rsync or scp to copy your files via SSH to the CU CS ELRA Servers.

Of these options, Dropbox is the simplest to use. Simply sign up for a Dropbox account and then sign into Dropbox via the window that pops up when you boot the VM. Once singed in, save all your files to the ~/Dropbox directory in your home folder and your work will be atomically synced to the cloud. To sync it to your local machine, simply install Dropbox there as well and your Dropbox folder will get synced automatically between the VM and local machine.

As with any computer, it's important to backup your work! Users who's only copy of their data resides on the VM will likelihood not have pleasant experiences. Thus, please make sure you use one or more of the above methods to keep a second, off-VM copy of your data at all times.

FAQ

If you encounter issues using the VM not addressed below, please contact help@cs.colorado.edu. Alternatively, you may consult your course staff.

Questions

Why can't I log in to Dropbox on the VM?

There is currently an issue with the Firefox browser that prevents users from logging into their Dropbox accounts. They are given an error that their credentials are invalid. Rather than trying to troubleshoot the issue in Firefox, we recommend a work-around:

  1. Go to the start menu (blue icon in the top left of the VM) and open Google Chrome
  2. When prompted, set Google Chrome as your default browser
  3. Restart the VM (go to the start menu, select the power icon in the bottom right corner, and then choose 'Restart')

When the VM starts back up, a Dropbox browser window will come back up, but this time in Google Chrome. You should be able to log in normally.

What is the username and password on the VM?

The default username:password combo is user:user. You may change this password if you desire by running passwd from a terminal.

As on most Debian-based system, the root account is disabled. Use sudo if you need to run privileged commands.

How do I fix a CPU error when trying to boot my VM?

If you receive an error message along the lines of:

1
2
The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.

or:

1
2
3
4
5
6
VMware Workstation unrecoverable error: (vcpu-0) vcpu-0:VERIFY vmcore/vmm/main/cpuid.c:386 bugNr=1036521 A log file is available in "C:\Users\<user>\Documents\Virtual Machines\<VM Name>\vmware.log".

Or your VM boots into a black screen with a white underscore cursor, it generally means VMware is having trouble getting your processor to support virtualization. This is normally due to one of the following issues:

  • Your machine supports virtualization, but it has been disabled in the BIOS
  • Your machine does not support virtualization

To correct the former case, boot into your machine's BIOS and enable the virtualization setting. The exact process for this differs by machine (try Google or consult your machine's user manual). The following steps are provided for convenience, but MAY NOT BE correct on your machine.

To boot into the BIOS and enable virtualization on most Windows 10 machines:

  1. Open your start menu and search for "Settings", then open it
  2. Choose "Update & Security"
  3. On the left-hand menu, select "Recovery"
  4. Scroll down until you see "Advanced Startup", then click "Restart Now". Your machine will shut down for a moment, then come back up on a blue screen with a few different choices.
  5. Choose "Troubleshoot"
  6. Choose "Advanced options"
  7. Select "UEFI Firmware Settings".
  8. Click restart.
  9. After a moment, your PC should boot back up on a black screen with a few different options listed. Look for "BIOS Settings" on the list and press the indicated Fn key (usually it is F10; your function keys are located on the top row of your keyboard).
  10. You'll be taken to the BIOS. Note that you can only navigate in the BIOS using your arrow keys and the enter key.
  11. Look for an option labeled something like "Intel VT-x", "Intel Virtualization Technology", or "Virtualization Support". The option is usually under either Security or Configuration, though it could be elsewhere. Sometimes there are two settings related to virtualization - make sure to enable both. (To enable: move the arrow keys until the virtualization setting is highlighted, press enter, use the arrow keys to select "enabled", then press enter).
  12. Save and exit the BIOS. (You should see a keyboard shortcut at the bottom of the screen for doing this, or you can exit through the menu)
  13. Let the PC reboot. Log back in, then try to launch the VM again.

See this article on Laptop Mag (external site) for images of how to boot into the BIOS.

In the latter case (e.g. if you find no virtualization settings in your BIOS), you may have to either upgrade your computer, install Linux alongside your host operating system in dual boot mode, or use the machines in CSEL (ECCS128).

Why is the network not working on the VM?

The VM takes the network connection from the host operating system as an Ethernet connection. If you are not connected to the Internet on the VM, then the problem is most likely that you are not connected on your host.

Check your network settings on your host operating system and ensure you are connected. If you are connecting to UCBWireless or UCBGuest, you may need to open on a browser window (on your host OS) and authenticate through OIT.

If you are certain that you are connected on your host OS (i.e., web pages are loading properly, no errors are showing in your connection status), but still cannot connect on the VM, then check the Getting Help section above for office hours or contact help@cs.colorado.edu.

Alternatives

Using the VM is the simplest method to get up and running, but there are other options available for the adventurous, advanced, or obstinate. A few such options are discussed here.

Note that these methods are not officially supported by the department. As such, should you pursue them you'll mostly be on your own in terms of support. It is your responsibility to make sure your code also works on the official VM/lab systems even if you choose to develop it on an unsupported platform.

Using a Native Linux Install

VMs are great for getting up and running quickly with minimal hassle. That said, if you're planning on majoring in CS or otherwise see yourself spending a lot of time working in a Linux-based environment, you would likely benefit from a native Linux install over using the VM. This can generally be done either as a replacement for your current native OS (e.g. OSX or Windows) or as a dual-boot in addition to your native OS.

For maximum compatibility with the official environment, we recommend installing a Ubuntu LTS-based Linux distribution (e.g. Ubuntu 16.04, Xubuntu 16.04, Lubuntu 16.04, etc). If you do this, you can install the CU CS APT repos on your machine and then install all the software for a given course by running:

$ sudo apt-get install cu-cs-csci-<course number>

Instructions for setting up Ubuntu can be found online. Dual-boot direction are also readily available. If you require assistance setting up a native Ubuntu-based Linux install, feel free to contact help@cs.colorado.edu.

If you wish to install a non-Ubuntu Linux variant, you'll need to handle setting up the necessary Software for a given course on your own. You may be able to translate the Ubuntu packages names into your native package manager's names by consulting the CU CS APT Source Code. We know of CS students successfully using Arch, Mint, Debian, openSuse, Fedora, and a variety of other non-Ubuntu Linux flavors.

Using Your Native OS

While Linux is great for a wide range of CS (and any other) work, you may be able to get away with working directly in your native OS. To do so, you'll likely need to install a text editor (e.g. vim, emacs, sublime, etc) or IDE (e.g. eclipse, netbeans, VisualStudio, etc), as well as the language(s) you plan to work in (e.g. python, C++, C, etc). The process for doing this varies by system: try Google-ing or consulting those who have come before you.