UB CSE Virtual Machine Images

These virtual machine images are intended to provide a convenient and stable environment for developing code for certain courses in the UB CSE curriculum. The images are provided as Open Virtualization Appliance (OVA) files, in which a single file comprises an entire, working virtual machine image. These images can be used or imported into many VM environments, including VMware Player and VMware Workstation on Linux and Windows, VMware Fusion on Mac, and VirtualBox on all three platforms.

Images

The top-most image on this list is the currently-recommended image. Unless you have a specific reason to download a different image (e.g., reproducing an environment from a previous semester), please use it.

DescriptionURLVerification
Fall 2019 VM image
(Ubuntu 18.04 x86-64)
OVA (alternate)
(1.6 GB)
checksums, signature
Spring 2019 VM image
(Ubuntu 18.04 x86-64)
OVA
(1.4 GB)
checksums, signature
Fall 2018 VM image
(Ubuntu 18.04 x86-64)
OVA
(1.8 GB)
checksums, signature

Terminology

As you may not be familiar with virtualization technology, here are some helpful terms and their definitions:

Guest
A virtual machine running on another computer. If you have a laptop running macOS, and you install a VM image from this page on it, the running image is the guest.
Host
A computer that runs the virtualization software on which a virtual machine runs. If you have a laptop running macOS, and you install a VM image from this page on it, your laptop is the host.
Image
A virtual machine image is a file or folder that represents a virtual machine.
OVA
A particular format virtual machine image that allows a VM to be stored in a single file.
Virtual Machine
A “virtual” computer that runs in a software program on another computer.
Virtualization software
A software package (such as VMware or VirtualBox) that allows a virtual machine to be run on a computer.
VM
Virtual Machine

To clarify the relationship between the host and guest, the host is the actual, hardware computer, and the guest is the software-emulated computer running in the virtualization software.

VM Features

This VM image has the following features (among others):

  • Ubuntu 18.04 LTS, x86-64 architecture
  • C and C++ development tools
  • Valgrind and gdb debugging tools
  • Git for source code control
  • Emacs and several flavors of vim
  • Default editor configuration for Emacs
  • The LXDE user interface

As it is a standard Ubuntu install, many programs are available in the distribution packages, but may or may not be installed on the image already.

At the bottom left corner of the screen after logging in, there is a menu that should be familiar to most users. Of particular interest in this menu will be LXTerminal under the System Tools category, and GNU Emacs 25 (GUI) under the Programming category.

Booting Images

As of the time of this writing, students may use Virtual Box without charge. VMware Workstation, VMware Player, and VMware Fusion may be available to UB students while they are taking a course that uses virtualization.

Instructions for opening OVA images can be found in the respective software documentation. It typically involves “opening” or “importing” a virtual machine into the running application, and then selecting the .ova file as the machine to open. Some brief instructions for VirtualBox, VMware Workstation, and VMware Fusion appear below.

Configuring your VM

The first time you boot the VM, it will ask you to set up a user account. Use your UBITName as your VM username! This will be required for some labs and activities, and you will have to do extra work to use a VM account that has a different username.

You may want to configure shared folders between the VM and your host computer; that is up to you. Shared folders will allow you to access a folder on your host computer from the VM guest.

Enabling Virtualization

Windows and Linux users may need to enable virtualization in their BIOS to achieve good performance in a virtual machine (or even to run a virtual machine at all, in some instances). You should consult your computer’s documentation for how to accomplish this, but it will typically user the following process:

  1. Enter your BIOS configuration (see your machine’s documentation)
  2. Look for a setting to enable “Virtualization”, “VT-x”, “Intel VT extensions”, etc.
  3. Enable the setting, save your changes, and exit

Mac users do not need to worry about this.

Installing an Appliance on VMware Workstation 15

  1. On Windows and Linux machines, check Enabling Virtualization, above.
  2. Install VMware Workstation 15.
  3. Download the appropriate appliance image from the table above.
  4. Start VMware Workstation and select File | Open, then select the downloaded OVA.
  5. Follow the prompts to import and configure the appliance.

Installing an Appliance on VMware Fusion 11

  1. Install VMware Fusion 11
  2. Download the appropriate appliance image from the table above.
  3. Start VMware Fusion and select File | Import, then select the downloaded OVA.
  4. Follow the prompts to select an import location and name. (If you get a message that the OVA “did not pass OVF specification conformance or virtual hardware compliance checks”, press Retry and the installation will continue as normal.)
  5. Click Finish after the appliance has imported. If VMware fusion asks to upgrade the virtual machine, press “Upgrade”.

Installing an Appliance on VirtualBox

Note that VirtualBox is not the recommended virtualization solution if you can use another option. In particular, it is known to have graphics support problems on macOS with certain hardware. If you are registered for CSE 220, you are eligible for a license for VMware Workstation, VMware Player, or VMware Fusion through the University. You will be given more information about this in class.

  1. On Windows and Linux machines, check Enabling Virtualization, above.
  2. Install Virtual Box for Windows, Linux, or macOS as appropriate.
  3. Download the appropriate appliance image from the table above.
  4. On Windows, Mac, or Linux with a supported desktop, you can double-click the OVA file to open VirtualBox and start the appliance import. On other Linux installs, open VirtualBox and select File | Import Appliance, then select the downloaded OVA.
  5. Follow the prompts to import and configure the appliance.

Verifying Images

Verifying the downloaded image is an optional process, but it ensures that your download is un-corrupted and unmodified from the original VM image. You do not need to do anything with the information in this section if you do not understand it.

These images are served via Keybase. If you use Keybase, you can fetch them from KBFS at /keybase/public/elb/buffalo/vm-images. Your Keybase client will verify my signature on the images.

If you do not use Keybase, but are familiar with PGP or GPG, you can use the “signature” link to download a detached signature for the file. Place the signature and the file in the same directory, and run gpg (or whatever PGP client you use) on the .asc signature file. If you wish to verify my public key, come see me and I’d be happy to give you the fingerprint.

If you do not use either Keybase or PGP, you can verify one or more of the checksums in the file behind the “checksums” link.