Difference between revisions of "EBC Exercise 01 Start Here"

From eLinux.org
Jump to: navigation, search
m (Kernel Development: Updated to 4.4)
m (The Linux host computer: Added Guest Additions instructions)
 
(19 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
# Get your Beagle Hardware together
 
# Get your Beagle Hardware together
 
# Set up a host computer, running Linux for code development
 
# Set up a host computer, running Linux for code development
# Clone the course git repository on both the Beagle and the host
+
# Clone the course git repository on both the host and the Beagle
  
 
== The Hardware ==
 
== The Hardware ==
Line 15: Line 15:
 
=== You may have, or will have to buy ===
 
=== You may have, or will have to buy ===
  
We are using the [http://beagleboard.org/Getting%20Started BeagleBone Black] 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.
+
We are using the [http://beagleboard.org/black BeagleBone Black] this year.  Since it's only $65 (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 Black.  See [http://beagleboard.org/ http://beagleboard.org/] for suggestions of where to buy the Black. I suggest ordering sooner rather than later since it may take a couple of weeks.   
+
* BeagleBone Black.  See [http://beagleboard.org/black http://beagleboard.org/black] for suggestions of where to buy the Black. I suggest ordering sooner rather than later since it may take a couple of weeks.  Note:  If you already have a different Beagle and want to use it, contact me.
* At least three 8G micro SD cards. I suggest you have 3 or 4 cards since it's easy to mess up one and it takes some 10 minutes to reload it.
+
* 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
 
* micro SD card reader/writer
* Powered USB hub, at least 4 ports.  The Black has only one USB port so this will allow you to plug in the keyboard, mouse, web cam, etc.
 
  
 
==== Books ====
 
==== Books ====
* [http://exploringbeaglebone.com/ Exploring BeagleBone].
+
* (optional but good) [http://exploringbeaglebone.com/ Exploring BeagleBone]. Be sure to get the [https://www.amazon.com/Exploring-BeagleBone-Techniques-Building-Embedded/dp/1119533163 second edition].
* [http://shop.oreilly.com/product/0636920033899.do BeagleBone Cookbook] (Not the BeagleBone Black Cookbook, it's a different book.)
+
* (optional but good) [http://shop.oreilly.com/product/0636920033899.do BeagleBone Cookbook] (Not the BeagleBone Black Cookbook, it's a different book.)
  
 
=== What you buy from the Instrument Room ===
 
=== What you buy from the Instrument Room ===
Line 32: Line 31:
 
* Proto Plate with full sized breadboard
 
* Proto Plate with full sized breadboard
 
* 5V power supply
 
* 5V power supply
* [http://us.playstation.com/ps3/accessories/playstation-eye-camera-ps3.html Playstation EYE] web cam
 
 
* [http://www.monoprice.com/products/product.asp?c_id=104&cp_id=10419&cs_id=1041913&p_id=7703&seq=1&format=2 micro HDMI to HDMI adapter]
 
* [http://www.monoprice.com/products/product.asp?c_id=104&cp_id=10419&cs_id=1041913&p_id=7703&seq=1&format=2 micro HDMI to HDMI adapter]
 
* [https://www.sparkfun.com/products/9717 FTDI USB to Serial Adapter] Must be 3.3V version
 
* [https://www.sparkfun.com/products/9717 FTDI USB to Serial Adapter] Must be 3.3V version
Line 38: Line 36:
 
* Two (2) [http://www.ti.com/product/tmp101 TMP101] temperature sensors
 
* Two (2) [http://www.ti.com/product/tmp101 TMP101] temperature sensors
 
* [http://www.ti.com/product/tmp006 TMP006] Infrared Thermopile Sensor (too small to mount, we won't use this)
 
* [http://www.ti.com/product/tmp006 TMP006] Infrared Thermopile Sensor (too small to mount, we won't use this)
* [http://www.ti.com/product/pca9306 PCA9306 Dual Bi-Directional I2C-Bus and SMBus Voltage Level-Translator]
 
 
* [http://www.ti.com/product/l293 L293 Quadruple Half-H Drivers]
 
* [http://www.ti.com/product/l293 L293 Quadruple Half-H Drivers]
  
 
== The Linux host computer ==
 
== 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 [http://www.ubuntu.com Ubuntu 16.04 (LTS)]. The CSSE department has a [ftp://ftp.csse.rose-hulman.edu/ubuntu-releases/16.04 local copy] so you don't have to download some 700M. You want the '''desktop-amd64.iso''' if you have a 64-bit machine, or the '''desktop-i386.iso''' if you are running 32-bits.
+
Since we are doing Linux development, it's generally agreed the host compute should be running Linux.  I suggest you run [https://www.ubuntu.com/download/desktop Ubuntu 20.04 (LTS)]. You want the '''desktop-amd64.iso''' if you have a 64-bit machine.
  
There are three options as to how to run Linux.
+
There are options as to how to run Linux.
 +
# Install in a virtual machine. I've been running [https://www.virtualbox.org Virtual Box] recently and it works fine. I suggest using it. 
 
# Native install ([http://www.ubuntu.com/download])
 
# Native install ([http://www.ubuntu.com/download])
# Install in a virtual machine. I've been running [[EBC Exercise 06 Notes on VirtualBox | Virtual Box]] recently and it works fine. I suggest using it.  You can also try [[EBC_Exercise_07_Installing_Ubuntu_in_VMware | VMware Player]] if you would like.
 
# Run in the cloud
 
  
No matter which method you use be sure to have some 16G of disk space.  The kernel tools will need at least 6G.
+
I suggest you use the virtual machine.  I run Virtual Box on my laptop.
 +
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.)
+
If you do use Virtual Box, do this once you've set things up:
 
+
* In the VM, go to Devices:Insert Guest Addition CD Image...
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 ask CSSE to set up a machine for you.
+
* A box will appear.  Click '''RUN'''   Wait while it installs.
 
+
* If it says '''This system is currently not set up to build kernel modules.''', run '''sudo apt update''' and '''sudo apt install gcc make perl'''
=== Kernel Development ===
+
* Reboot the VM.
 
+
* In the VM, go to Devices:USB and select the Beagle.
Once you have Linux running somewhere, you need to install the kernel development tools. Go to [[EBC_Exercise_08_Installing_Development_Tools_4.4]] to see all the steps you need.
+
You are ready to go.
 
 
Now that you have all these pieces in place you are ready to work with a very powerful embedded processor.
 
 
 
== The class git repository ==
 
 
 
Once you have an up to date OS running on your Beagle, go to [[EBC Exercise 05 Getting Exercise Support Materials]] to learn how to clone the class git repository. Once cloned it's a single command to get the latest materials on your Beagle (or host computer for that matter).
 
  
 
{{YoderHead}}
 
{{YoderHead}}

Latest revision as of 14:48, 17 August 2020

thumb‎ Embedded Linux Class by Mark A. Yoder


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 Black this year. Since it's only $65 (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 Black. See http://beagleboard.org/black for suggestions of where to buy the Black. I suggest ordering sooner rather than later since it may take a couple of weeks. Note: If you already have a different Beagle and want to use it, contact me.
  • 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

Books

What you buy from the Instrument Room

  • various input devices, sensors, displays, etc.

What you borrow from the Instrument Room

The Linux host computer

Since we are doing Linux development, it's generally agreed the host compute should be running Linux. I suggest you run Ubuntu 20.04 (LTS). You want the desktop-amd64.iso if you have a 64-bit machine.

There are options as to how to run Linux.

  1. Install in a virtual machine. I've been running Virtual Box recently and it works fine. I suggest using it.
  2. Native install ([1])

I suggest you use the virtual machine. I run Virtual Box on my laptop. No matter which method you use be sure to have some 30G of disk space. The kernel tools will need at least 6G.

If you do use Virtual Box, do this once you've set things up:

  • In the VM, go to Devices:Insert Guest Addition CD Image...
  • A box will appear. Click RUN Wait while it installs.
  • If it says This system is currently not set up to build kernel modules., run sudo apt update and sudo apt install gcc make perl
  • Reboot the VM.
  • In the VM, go to Devices:USB and select the Beagle.

You are ready to go.

thumb‎ Embedded Linux Class by Mark A. Yoder