EBC Exercise 01 Start Here

Overview
There are three major things that need to be done to have the BeagleBoard ready to run for class:
 * 1) Get your Beagle Hardware together
 * 2) Set up a host computer, running Linux for code development
 * 3) Clone the course git repository on both the host and the Beagle

The Hardware
Here's the hardware you will need and where you get it.

You may have, or will have to buy
We are using the BeagleBone Blue this year. Since it's only $50 (or so) I'll have you buy your own. There are a few other things you will need to get before the first day of class.
 * BeagleBone Blue. See http://beagleboard.org/blue for suggestions of where to buy the Blue. I suggest ordering sooner rather than later since it may take a couple of weeks.
 * At least two 8G micro SD cards. I suggest you have 2 or 3 cards since it's easy to mess up one and it takes some 10 minutes to reload it.
 * micro SD card reader/writer
 * Powered USB hub, at least 4 ports. The Blue has only one USB port so this will allow you to plug in the keyboard, mouse, web cam, etc.

Books

 * BeagleBone Cookbook (Not the BeagleBone Black Cookbook, it's a different book.)
 * (optional but good) Exploring BeagleBone.

What you buy from the Instrument Room

 * various input devices, sensors, displays, etc.

What you borrow from the Instrument Room

 * Proto Plate with full sized breadboard
 * 5V power supply
 * Playstation EYE web cam
 * micro HDMI to HDMI adapter
 * FTDI USB to Serial Adapter Must be 3.3V version
 * Bicolor LED Square Pixel Matrix with I2C Backpack
 * Two (2) TMP101 temperature sensors
 * TMP006 Infrared Thermopile Sensor (too small to mount, we won't use this)
 * PCA9306 Dual Bi-Directional I2C-Bus and SMBus Voltage Level-Translator
 * L293 Quadruple Half-H Drivers

The Linux host computer
The above will get you ready for about the first 4 weeks of class. Around week 5 we'll start looking at the kernel and will need to cross compile. Once we start moving into Kernel development we will need a host computer. Since we are doing Linux development, it's generally agreed the host should be running Linux. I suggest you run Ubuntu 16.04 (LTS). The CSSE department has a local copy you can access on campus, so you don't have to download some 700M from elsewhere. You want the desktop-amd64.iso if you have a 64-bit machine, or the desktop-i386.iso if you are running 32-bits.

There are three options as to how to run Linux.
 * 1) Native install
 * 2) Install in a virtual machine. I've been running  Virtual Box recently and it works fine. I suggest using it.  You can also try  VMware Player if you would like.
 * 3) Run in the cloud

No matter which method you use be sure to have some 30G of disk space. The kernel tools will need at least 6G.

The Ubuntu site gives good instructions for a native install. I've had good success with running both VMware and Virtual Box, though my installation instructions are a bit dated. (Feel free to update them if they need it.)

I've been testing out the "Cloud" approach and it looks like it will work too. If you want to try the cloud, let me known and I'll show you how.