EECS 489: Virtual Machine Setup Guide

The University of Michigan, Fall 2025

Welcome to EECS 489! This guide will help you set up a virtual machine (VM) environment using VMWare or VirtualBox on both Windows and macOS.

Importing the VM Image

A VM disk image is a single file on a host computer that functions as a hard disk for a virtual machine, containing the containing the guest operating system, applications, and user data, similar to a physical hard drive. In order to install the correct VM disk image, it is important to first determine the CPU of your machine.

Identify your CPU

This section describes how to identify your CPU architecture on a Mac. Windows machines are overwhelmingly on Intel/AMD chips on an x86 architecture. If you're not sure what architecture your non-Mac laptop uses, search up the model specs. If it is an ARM-based CPU, follow the instructions for "Apple Chip." If it's an x86 chip, follow the instructions for "Intel Chip."

  1. Click the Apple Logo on the top left of your screen, and click "About This Mac."
    alt text

  2. Make a note of what the item labelled "Chip" says.
    alt text

  3. If the chip is of the form Intel *, follow the instructions for Intel Chips below. If it is of the form Apple M*, follow the instructions for Apple Chips.

Download the Ubuntu Image

Intel Chip

  1. Go to https://ubuntu.com/download/server.

  2. Click the big button that says "Download 24… LTS." alt text

Apple Chip

  1. Go to https://ubuntu.com/download/server/arm.
  2. Click the big button that says "Download 24… LTS" alt text

Install your Hypervisor

A hypervisor is a program used to run and manage one or more virtual machines on a computer. It acts as an abstraction layer between a host's physical hardware and the virtual machines it supports. This section provides instructions on installing VMWare or VirtualBox on Windows and macOS. You only need to install one or the other, whichever you prefer!

Installing VMWare

  1. Go to VMWare Fusion Player Downloads and click the "Download Now" button. This will take you to the Broadcom sign-in page.

  2. At this point, you will need to register for a free Broadcom account.

  3. After setting up your account, return to the Broadcom sign-in page and login to your account.

  4. Now that you are signed in to your account, follow the instructions below to download the correct version of VMWare for your OS.

VMWare Workstation Pro (Windows)

  1. Go to VMWare Workstation Pro Downloads.

  2. Select the Windows version with the latest release version. You will need to click on the "Terms and Conditions", select "I agree to the Terms and Conditions", then click the download button.

    alt text

  3. Run the installer and follow the steps.

  4. Launch VMWare Workstation Pro after installation.

VMWare Fusion (macOS)

  1. Go to VMWare Fusion Downloads.

  2. Select the Mac version with the latest release version. You will need to click on the "Terms and Conditions", select "I agree to the Terms and Conditions", then click the download button.

    alt text

  3. Open the .dmg and drag VMWare Fusion to your Applications.

Installing VirtualBox

Windows

  1. Visit the VirtualBox downloads page.

  2. Download Windows hosts installer.

    alt text

  3. Run the installer (VirtualBox-x.x.x-xxxx-Win.exe), and follow the on-screen instructions.

  4. (Optional but recommended) Install the VirtualBox Extension Pack from the same page.

  5. Once installed, launch VirtualBox.

macOS

  1. Visit the VirtualBox downloads page.

  2. Download OS X hosts installer.

    alt text

  3. Open the .dmg file and double-click the VirtualBox.pkg installer.

    alt text

  4. Follow the install prompts. If you get a security block, open System Preferences > Security & Privacy, and allow Oracle.

  5. (Optional) Install the Extension Pack.

Configure your VM

Now that your hypervisor is installed, we need to configure the virtual machine. The instructions for VirtualBox setup on Windows and macOS are similar, so we combined these sections. Feel free to skip to whichever hypervisor you installed in the last section (VMWare or VirtualBox).

VMWare

VMWare Fusion (macOS)

Launch VMWare Fusion. Once it is launched, on the toolbar, select "File," followed by "New."

alt text

Make sure that "Install from disc or image" is selected, and click "Continue."

alt text

Note: If you have issues with drag-and-drop for the disk image, double click the "Install from disk or image" to manually select the image from your file system.

Drag the .iso file you downloaded from the Ubuntu website onto VMWare Fusion and click continue.

alt text

On the next screen, make sure that 4GB of RAM is allocated to the Virtual Machine.

alt text

Click continue, and finish.

Warning: Do not run the Virtual Machine yet! If the machine is automatically ran when you clicked finish, click "Virtual Machine" on the toolbar, and click "Shut Down." If the option is grayed out, your machine is suspended. To unsuspend it, click the play button on the window. You should now be able to shut the machine down.

Click on the settings icon on the virtual machine. This will launch the settings window. On the settings window, click "Hard Disk".

alt text

The next prompt asks for how much disk space the virtual machine will use. As you will not require much space for running your projects, this does not need to be large. We suggest providing a maximum disk size of 15 GB or larger.

alt text

You can also set up shared folders using settings later; this will enable you to easily share files between your local computer and the virtual machine filesystem.

Now, launch the VM by clicking the play icon on the window.

VMWare Workstation Pro (Windows)

Launch VMWare Workstation. Once it is launched, select "Create a New Virtual Machine".

alt text

The next prompt asks for what operating system image to use. Select "Browse" to specify the .iso file you downloaded from the Ubuntu website and select "Next".

alt text

The next prompt asks for the name and location of your virtual machine. You can change this to whatever you would like. Select "Next".

alt text

The next prompt asks for how much disk space the virtual machine will use. As you will not require much space for running your projects, this does not need to be large. We suggest providing a maximum disk size of 15 GB or larger.

alt text

The next prompt asks you to confirm the settings of the virtual machine. Listed will be the hard disk size and memory. We suggest using a memory size of at least 4 GB, so if the default memory size is lower, select "Customize Hardware" uand change the memory. Once you confirm the settings, select "Finish". The virtual machine should then power on.

alt text

alt text

VirtualBox

  1. Open VirtualBox (Applications folder).

  2. Click New in the toolbar.

  3. Select the disk image that you downloaded earlier.

alt text

  1. For the rest of the options, you can choose the default options. However, ensure you allocate at least 4 GB of RAM and 15 GB disk size.

alt text

  1. Select finish to create the VM.

Set Up your VM

Warning: It is important you do everything as directed during the setup. Do not enter a username that is different than what we provide, or change any settings differently. Some of our scripts depend on the username being the same as what we provide.

Note: You cannot use you mouse at this step. Navigate the menus with the arrow keys on your keyboard, and use the "Enter/Return" key to select.

Note: VMWare fusion will "capture" your mouse, which may prevent you from using your cursor outside of the VM. To release your cursor, press the Ctrl and Cmd keys at the same time (CTRL + CMD).

Select "Try or Install Ubuntu Server", and wait for the machine to boot up until you get arrive at this screen. Select English as your language.

alt text

Click "Done" on the next page.

alt text

Click through the given options on each of the following screens. You do not need to change anything on the following screens, simply keep hitting "Continue".

alt text

alt text

alt text

alt text

alt text

alt text

alt text

alt text

After this screen, enter the following information on the "Profile configuration screen" and hit continue.

alt text

alt text

On the next screen, click "continue."

alt text

On the next screen, make sure your selections look like the image below, and hit Done.

Warning: Make sure Install OpenSSH server is checked!

alt text

On the final page, hit "Done".

alt text

Wait until the installation finishes, and hit "Reboot Now."

alt text

If you see this, just hit "Enter".

alt text

On the next screen, enter ubuntu as your ubuntu login, and eecs489 as your password.

alt text

Once you are at the command line, enter the following commands:

  1. Update and install:
    $ sudo apt update
    $ sudo apt install -y build-essential cmake libboost-all-dev open-vm-tools openvswitch-testcontroller
  2. Install Mininet:
    $ sudo apt-get install mininet
  3. Verify Mininet installed properly by running:
    $ mn --version
  4. You should get 2.3.0 (or something similar) as an output. Having a slightly different version will not be a problem. Once the above commands are complete, run:
    $ sudo reboot now

Setting up Remote Development

You can now use the terminal to git clone the projects from GitHub and get to work. You will find it helpful to use ssh with tools like VSCode Remote Development or CLion Remote Development to complete your projects. In your virtual machine terminal run

$ ip a

which will produce an output that looks like alt text

You can use the ip address of ens160 (or whichever adapter other than lo that has a field called inet). In the above photo, the IP is 192.168.75.135. Using that IP address, on your *computer's terminal, you can run

$ ssh ubuntu@<IP>

and enter the password eecs489 to login. You can use the same username/password combination for remote development tools. If you want to use VSCode, you can use the Remote SSH extension to then SSH into your virtual machine with VSCode, so you can open folders and modify files within the virtual machine through your local VSCode application. You will use the same ssh command as above to ssh into the VM through the extension.

Special Note: Using WSL on Windows

Troubleshooting & FAQ