Overview

The BeagleBone Black includes a 2GB on-board eMMC flash memory chip. It comes with the Debian distribution factory pre-installed. You can flash new operating systems including Angstrom, Ubuntu, Android, and others. The following pages will illustrate the steps to getting the latest of each type of supported distribution onto the on-board eMMC.

In addition to the eMMC, you can also boot directly from a microSD card similarly to the original BeagleBone.

Choosing an Operating System

There are a few operating systems you can choose to use on your BeagleBone Black. The following sub-pages include the download location, and some useful information about each operating system you may want to use.

Angstrom, Ubuntu, and Debian all appear to have stable images.

Android is currently working from a 3rd party build. We don't have a guide on how to install this as of yet.
Angstrom is the default operating system, and usually the best choice.

Angstrom

Angstrom is the default Linux distribution that is pre-installed on the eMMC on the BeagleBone Black. It's a stripped down version of Linux specifically designed for embedded devices.
Depending on how long ago you purchased your BeagleBone Black, you may not have the latest version of Angstrom installed. It's usually preferable to get the latest version, especially this early in the product's lifecycle.

Download

To start with, download the latest version of Angstrom for the BeagleBone Black. You can find the latest version at the BeagleBoard Latest Images page. Once you've downloaded the file, you'll want to jump to the section for your specific OS (Mac OS X, Linux, Windows).

Default User/Password and SSH

The default login user/password for angstrom is "root". There is no password set, so you can bypass the password prompt by just hitting enter without typing anything in.

Angstrom comes with the Avahi Daemon pre-installed. This is really useful because you can now ssh in simply by using 'beaglebone.local' instead of trying to find the IP address. For example, type this into your favorite terminal:

Ubuntu

Ubuntu is an unsupported operating system for the BeagleBone Black (BBB), but does have quite a few users, and a stable image with the 3.8 Linux kernel.

Download

To start with, download the latest version of Ubuntu for the BeagleBone Black. You can find the latest version at the Ubuntu software support page. Choose the file that is compatible with flashing to the eMMC. Once you've downloaded the file, you'll want to jump to the section for your specific OS (Mac OS X, Linux, Windows).

It is important that you download a version of Ubuntu specifically built for the BeagleBone Black unless you're an expert at configuring Linux and working with the kernel. It's not necessary to download the most recent version, but it's highly recommended. The BBB ecosystem is rapidly changing, and each release offers many new improvements.

Default User/Password and SSH

If you've used the the image to flash Ubuntu to the eMMC, the default username for Ubuntu 13.04 (Raring Ringtail) is "ubuntu". The default password is 'temppwd'. Ubuntu does not come with the avahi daemon pre-installed, so you'll need to ssh in using the IP address using your favorite terminal:

Copying the Image to a microSD Card

Once you've downloaded an image for the operating system you're interested in using, you'll need to copy it to a microSD card in order to flash it onto the BeagleBone Black's built-in eMMC flash. It sounds confusing, but it's rather simple.

Navigate to the next sub-page for the host operating system you'll be using to copy the image to the microSD card.

Windows

Once you've downloaded the img.xz file, in my case it is titled BBB-eMMC-flasher-2013.05.08.img.xz, you'll need to extract the archive. To extract the archive, you'll want to download and install 7zip. 7zip is a free and open source utility that is able to extract img.xz files (among many other file types!).
It will take a minute or two to extract the file, and you should then end up with a 3.66 GB .img file (notice that the .xz is removed from the file extension).

Next, download the free Win32 Disk Imager software that we'll use to copy the image to the microSD card. After downloading the software, extract it from the zip file (7zip can be used here as well).

Launch the Win32 Disk Imager Software by double clicking the "Win32DiskImager" file in the folder that you extracted it to. You should see the following screen once it launches:
Click the folder icon (arrow pointed to it above), and choose the image file, and click Open:
Next, insert your SD card, and choose the correct "Device" drive letter. You may want to open windows explorer to help figure out which one to choose. Another way is to view the drive letters by clicking the dropdown below "Device", and then inserting your SD card to see which one gets added to the list.
Make sure you choose the correct drive letter, or risk losing data on your other devices!
Once you've made your selections, click the "Write" button illustrated above, and wait for it to complete writing to your SD Card.

You can now continue on to the Flashing the BeagleBone Black page to continue.

Mac OS X

Once you've downloaded the img.xz file, in my case it is titled BBB-eMMC-flasher-2013.05.08.img.xz, you'll need to extract the archive. I've found the easiest utility to use is called "The Unarchiver". You can find it on the app store, or from their site. Once you've installed "The Unarchiver", just navigate to the .img.xz file, typically located in Finder in the "Downloads" section, and double click the file to begin extraction.

It will take a minute or two to extract the file, and you should then end up with a 3.66 GB .img file (notice that the .xz is removed from the file extension).

There are now a few ways to continue. You can use terminal commands, or software that will guide you through it. Let's start with the guided software using a graphical interface.

Using a GUI


First, you'll want to download PiFiller. It was designed to install images onto SD cards for the Raspberry PI, but there isn't any reason why it wouldn't work for BeagleBone images as well.

Once you've downloaded Pi Filler, locate it in Finder (typically Downloads), and double click it to extract it. You may want to copy it to your Applications folder.
Remove your SD card prior to launching Pi Filler.
Launch Pi Filler, and follow the on-screen prompts. The first thing it will ask is for you to locate your .img file. It mentions the Raspberry Pi, but you can ignore that, it doesn't make any difference.
Select the appropriate .img file, and click "Choose".

Then, insert your microSD card into your Mac, and click Continue. Pi Filler will look for your SD Card, and then notify you once it finds it.
Ensure the SD Card you are choosing is correct, rename it to BEAGLE_BONE if you're unsure.
Click Continue once you're certain its found the correct SD card.
It can take 15-20 minutes to write the image to the microSD card. Once it's complete, remove the microSD card and insert it into the powered down BeagleBone Black. You will only be able to insert the card one way, and it needs to snap in fully.

Navigate to the Flashing the BeagleBone Black page, and follow the instructions on how to flash the newly copied image onto the on-board flash memory of the BeagleBone Black.

Using the command line


Another alternative is to flash the microSD card entirely from the command line. You'll first want to extract the img.xz file you've downloaded, and the best program for that is still "The Unarchiver" mentioned in the GUI instructions. Once you've got the extracted .img file, open a terminal to get started.

Execute the following command to see the list of connected storage devices:
Next, insert your microSD card, and then execute the following command again:
Compare the two outputs, and find the newly added device. In my case, the microSD card was '/dev/disk4s1'.

Once you've got the name of the device, you'll want to unmount that disk using the following command, but replacing the specifics with your card details:
sudo diskutil unmount /dev/disk4s1
Now, you'll want to execute the command that actually copies the image onto the SD card. You have to be really careful here, and make sure you're entering the correct device details. You could end up copying over the wrong drive, such as your master hard disk, and then you'd end up having a bad day. Double check everything!

Note that we subtly changed the device name from "/dev/disk4s1" to "/dev/rdisk4". You'll want to do the same when you execute the below command.

Also, choose the right file location for your .img file in the input file field (if=...).
sudo dd bs=1m if=~/Downloads/BBB-eMMC-flasher-2013.05.08.img of=/dev/rdisk4
This process can take anywhere from 15-30 minutes depending on the speed of your computer and microSD card. Once it has completed, remove the microSD card, and insert it fully into the BeagleBone Black microSD card slot.

Navigate to the Flashing the BeagleBone Black page, and follow the instructions on how to flash the newly copied image onto the on-board flash memory of the BeagleBone Black.

Flashing the BeagleBone Black

Now that you have the latest image of Angstrom loaded onto your microSD card slot, you'll need to flash it onto the on-board flash memory of the BeagleBone Black.

To start, make sure the BeagleBone Black is powered down, and unplugged from the power source.

Now, insert the microSD card into the slot on the back of the BeagleBone Black. It should snap into place.

Now, find the "User Boot" button. it's located on the same side of the BeagleBone Black as the microSD card slot, and is the only button in that area. See the below screenshot (from beagleboard.org) highlighting the 'User Boot" button.

Hold the "User Boot" button down, and then plug in the power (USB or 5V adaptor). Keep holding down the button until you see the bank of 4 LED's light up for a few seconds. You can now release the button.

It will take anywhere from 30-45 minutes to flash the image onto the on-board chip. Once it's done, the bank of 4 LED's to the right of the Ethernet will all turn off. You can then power down your BeagleBone Black.

If you have a monitor plugged in, there will be NO progress bar or any other indications displayed on the screen.
Remove the SD Card, and power up your BeagleBone Black.

When I attempt to flash the OS onto the on-board eMMC memory, nothing happens. What do I do?

If you've followed the "Flashing the BeagleBone Black" instructions exactly, and nothing really happens when you attempt to flash it (the 4 LED's don't light up), then you can try the following suggestions:

  1. Ensure you have a good power supply. This is the most important thing as flashing the BBB is pretty power intensive. The USB power supply featured in this guide is fully capable.
  2. Unplug the Ethernet while flashing. It can consume a bit of power unnecessarily.
  3. Try again. Sometimes it can take a couple of tries to get the process going. Also, make sure you've held the user boot button down the entire time until the LED's light up, prior to plugging in the power. Re-seat the SD card.
  4. Copy the image to your SD card again. It's possible that this process wasn't fully successful.

How do I use ssh-keygen to generate ssh keys on Angstrom?

Angstrom comes pre-installed with the dropbear ssh package by default, instead of the more common openssh package. The easiest way to generate ssh keys is to simply install the openssh-keygen client.

You can do this by executing the following command:
opkg update ; opkg install openssh-keygen

How do I set the time and date? It's always wrong when I reboot.

There are a few options. The first would be to setup a real time clock breakout board.

Another option is to execute the following command (configure it to execute on startup as well):
/usr/bin/ntpdate -b -s -u pool.ntp.org

How can I use opkg upgrade on Angstrom?

Execute the following commands. tmpfs is quite small on the default Angstrom installation.
opkg --tmp-dir ~ update
opkg --tmp-dir ~ upgrade