Flash your BeagleBone Black with Ubuntu 16.04 and don’t worry about changing the OS for next few years. This long-term-support (LTS) Ubuntu version enables you to install LTS versions of several software, for example, robotics middle-ware ROS.
In this post, let’s go over step-by-step instructions to flash BBB on-board eMMC with Ubuntu 16.04. The instructions are easy to follow even for those just getting started with BBB. Please leave any questions or feedback in the comments section.
ATTENTION !! (Update: 02/2019)
eLinux.org no longer hosts Ubuntu 16.04 flasher image. Instructions in this post are still relevant if you have an older image. Let me know in comments if you need one.
Instead, you may be interested in an updated post
How to flash BeagleBone Black Wireless eMMC with Ubuntu 18.04 & set up Wi-Fi
Required Hardware
- BeagleBone Black Rev. C board with power adapter
- MicroSD Card (with adaptor) of capacity 2 GB or more
- FTDI USB to Serial Cable
- Ethernet cable connected to the router
- Ubuntu PC (even Windows PC will work)
Required Software
- Install Etcher on your PC.
On a high level, installing latest Ubuntu 16.04 on to BBB eMMC involves below steps:
- Download a pre-built Ubuntu 16.04 image for BBB. Flash it to a microSD card using PC.
- Use SD card to flash BBB eMMC.
- Boot BBB with the installed pre-built image from eMMC.
- Optionally, download and install the latest kernel.
Prepare microSD Card
Connect microSD card to the PC. Use SD card adapter if your PC has a SD card slot. Or, use USB SD card adapter to plug it into one of the USB slots. Either way works fine.
Download and save the pre-built Ubuntu 16.04 LTS image from elinux.org to your PC. Open Etcher and select the downloaded BBB image file with extension .img.xz.
Select the drive that represents your SD card or USB SD card adapter. In Ubuntu terminal, do ls /dev/ to note the inserted device name. In my case, it was /dev/sdb. On a Windows, a new drive will appear in My Computer.
Be sure to select the correct drive. Choosing a wrong drive may wipe out even your hard drive.

Hit Flash!

Eject SD card once Etcher finishes flashing. Now, SD card is ready for the next step.
Flash BeagleBone Black eMMC
With BBB powered off, insert micro SD card into its slot. The slot for microSD is beneath the board on the opposite end of Ethernet connector.
Insert USB-Serial cable into the J1 Serial Debug header as show in the picture. Connect other end of the cable to a free USB slot of the PC.
Remove all the capes and use a fully charged power supply or ac adapter. Don’t power it on yet!
Setup the serial program (screen) on the PC. This shows progress messages coming from BBB serial debug header.
Press & hold the boot select button (S2) and apply power. Once powered on, release the button.
Boot messages should appear on the PC serial terminal. There is also a visual sign on BBB indicating flashing procedure in progress. 4 User LEDs (D2-D5) next to the Ethernet jack will show a Cyclone-Sweep pattern (see video).
Once the flashing process is complete, all 4 LEDs will stay ON. If BBB is not powered-down at the end of the procedure, manually remove power. Remove microSD card from its slot.
Boot from eMMC
Plugin Ethernet cable, keep Serial Debug header connected and power on the board.
Voila! BBB boots Ubuntu 16.04 from eMMC.
For most purposes, the booted kernel is good enough (and you may stop reading here). However, for various reasons you might need the latest or a different kind of kernel. In that case, read on!
Install the Latest Kernel (optional)
One simple reason to upgrade the kernel is that you will be on the latest and greatest. You might also want to switch to a real-time kernel to develop latency sensitive applications on BeagleBone Black.
In this section, I’m going to install the latest 4.4.x real-time kernel. The process is same for any other kernel variants.
Let’s SSH to BBB to do next steps. Open a new terminal on your PC and SSH to BBB.
[Find IP address of your board by logging in with default username and password displayed on the serial terminal. Then, type ifconfig.]
First, know current version of your kernel and search for available Linux kernels.
1 2 3 4 | $ uname -r 4.14.24-ti-r37 $ sudo apt-get update $ sudo apt-cache search linux-image | grep 4.4 |
Note that I’m filtering out 4.4 kernels using grep command. Choose a kernel version from the list. I chose to install kernel 4.4.91-ti-rt-r140.
1 2 | $ sudo apt-get install linux-image-4.4.91-ti-rt-r140 $ sudo reboot |
Upon reboot, login and check the kernel version again to make sure it switched.
1 2 | $ uname -r 4.4.91-ti-rt-r140 |
17 comments On How to flash BeagleBone Black eMMC with Ubuntu 16.04
Hi there. I was wondering if you have a copy of the ubuntu 16.04.3 eMMC flasher image that you could send me or if you know where I can download it?
Hi Tim, Sent you download link via email. Let me know if it worked!
Can’t find anywhere a flashable version to emmc with ubuntu 16.04.3 for BeagleBone Black 🙁
Hi, Sent you download link via email.
Please send me a link for Ubuntu 16.04.03 for BeagleBone Black – thanks
Sent a link in email, John. Good Luck!
Hello, would you be able to send me a copy of the 16.04 image? Thank you so much!
Hi Kiran, would you be able to send me a copy of the 16.04 image? Thank you for your help.
Hi Matt,
Sending an email with download link. Please check!
Hi Kiran,
thanks for the great tutorial.
+1 for a copy of the 16.04 image.
Thank you in advance!
TRistan
Check your email for image link!
Hi Kiran, would you be able to send me a copy of the 16.04 image? Thank you for your help.
Sent you the download link. Please check!
Man i just purchased a BBB then read your post that the 16.04 is no longer avalable.. Can you shoot me a copy of the image..
Thanks
Sam
Image link on it’s way. You may want to consider using 18.04 image if you have a new BBB. Good luck!
I’d really appreciate a link to the 16.04 image if it’s still available – I need to use 16.04 for a legacy project to 18.04 isn’t an option in this case. Thanks, Ian
Hi Ian,
Check your mail for the download link. I hope it’s still useful to you. I was off for a month – the reason for my slow response!