Beaglebone Black Hardware Support - cu-ecen-aeld/buildroot-assignments-base GitHub Wiki

AESD Beaglebone Black Buildroot Instructions

This page includes notes about setting up Beaglebone Black hardware using AESD buildroot assignments.

Buildroot Configuration

Follow the instructions in Setting up Buildroot for Hardware Builds using the instructions below for step 2.

  1. Make the changes to support Beaglebone Black as shown in this merge request. If you are in sync with the master branch you can use
git fetch buildroot-base
git merge buildroot-base/hw-beaglebone-black

to merge in the changes. If not in sync, you can copy the changes in manually based on referencing the merge request.

You can also build based on the completed buildroot implementation branch at this link

Test Image

To test your hardware, you can use the known working image at this link. This should work with the instructions below.

Hardware Overview

See the System Reference Manual for a detailed overview of the hardware platform. beaglebone_black_overview See this section for a hardware overview of key components

Flashing to external SDCard

The BeagleBone Black supports booting from either an internal eMMC or an external sdcard. We are going to start by using the external SDCard to boot and run the buildroot OS.

See instructions in Flashing Images to SD Card for details.

Applying Power

Most of the lab hardware kits don't include a power supply, so you should use a mini USB cable for power.

Booting from SDcard

  1. Insert the programmed sdcard into the card reader on the BeagleBone Black.
  2. Ensure the BeagleBone Black is powered off (reset is not enough)
  3. Follow the instructions in this link to select MMC0 (microSD) boot by holding down the "Boot Switch" as shown in the hardware diagram at this link while applying power. Note that you need to apply power at this step, reset is not enough to force boot from sdcard. You need to do this each time you apply power.

Connecting to the device

You have several options to connect to the terminal on the device. Many will use SSH server, such as the dropbear installation we used in previous assignments, to interact with hardware.

Connecting through Keyboard/Monitor

I expect the mini HDMI connection should work with a monitor and USB keyboard but have not yet verified this myself. Please let me know if you are able to confirm this.

Connecting through Ethernet

If you boot with the Ethernet port connected to a router, the device should obtain an address via DHCP. However, it might not be obvious which address is asigned until you can login via some other means. If you are connected to a local router you can use the router status page to find the device labeled "beaglebone" and the corresponding IP address. You can also use a network scanning application like Angry IP to list the IP addresses on your current network. You can look for an IP address which responds to ping when connected, then drops off when you unplug the network cable the device.

Connecting through USB gadget Ethernet Driver

The BeagleBone Black supports a USB "gadget" ethernet driver, which allows you to create a network connection via the USB Client port using a Mini-USB cable. The default configuration file uses 192.168.0.2 for this address. To connect from your Linux host system or virtual machine, you should configure the gadget interface for an IP address on this network, for instance 192.168.0.1

When the system boots up you should see a "manufacturer ECM Gadget" listed in your VirtualBox USB passthrough options located at the bottom right of your VirtualBox VM window image image

Click this to pass through to the virtual machine. Then go to the network settings page inside your UbuntuVM. You should see a USB Ethernet Option which you can turn on image

Click settings and go to the IPv4 section. Click "Manual" IPv4 method and set address and netmask to 192.168.0.1 and 255.255.255.0 respectively

image

Click apply

You should now be able to ping your hardware at 192.168.0.2. If not, try disconnecting and reconnecting the USB device from the virtual machine and retry.

Once you are able to ping successfully, you can use ssh to login to the system, by adding and configuring the dropbear SSH server as done with previous assignments.

If there is a significant delay in getting the SSH login running, please refer to the section “Customize the Linux kernel configuration” section on pg. 14 of this document. This delay could be because of the lack of a hardware number generator.

Connecting through serial terminal

If you aren't able to connect through network successfully, you can also connect through the TTL serial port (FTDI) connection. This requires a TTL to serial converter like this one which can be connected to the serial debug header as shown in this section of the reference manual. Use a terminal emulation program like Tera Term on Windows or minicom on Linux to connect with 115200 8,n,1 connection parameters.