Install Debian to eMMC on Beaglebone Black

2 minute read

Note: there’s now a semi-automated script to install Debian to the eMMC of the Beaglebone Black.

You need AT LEAST a 4 GB micro SD card to do this!

This procedure assumes you’re on a Linux laptop. Although we will copy the image to eMMC, we do it from a micro SD card.

  1. on your laptop PC, download the Debian Beaglebone Black (BBB) image.  If you have an old 2 GB Beaglebone, use the 2gb image.
  2. type lsblk, note which drives are listed, then insert the SD card into your laptop and type lsblk again–the new item is your SD card. We assume /dev/mmcblk0.
  3. extract image to SD card:
    xz -cd BBB-*.img.xz > /dev/mmcblk0

    Extraction takes about 5 to 20 minutes at ~ 5 MB/sec, writing uncompressed ~ 2 GB to the SD card.

  4. [optional] monitor data writing to SD card with
  5. Ensure writing has completed with
  6. insert micro SD card into the (non-powered) BBB and then apply the power.
  7. Beaglebone four onboard LEDs flash back and forth in a “cylon” or “knight rider” pattern. During this time, the micro SD card program is flashing the onboard eMMC automatically for you. If you have an FTDI to USB adapter that fits onto J1, you can watch this process via the screen program.
  8. The automatic flashing to eMMC process should complete in about 10-20 minutes. When it’s done, for Debian Wheezy (7.x) the BBB shuts itself down (no LEDs on).  For Debian Jessie (8.x) the BBB 4 LEDs are all on constantly (instead of the cylon pattern).
  9. Once the BBB has shut down, REMOVE the micro SD card from the BBB.
  10. Reset the power or push the onboard POWER button next to the Ethernet jack.

Boot from eMMC

There is an SSH server running by default available through the mini-USB port.

  1. Find the IP address of the BBB on your LAN (plug the BBB into your Ethernet). Assuming local network IP addresses, from your laptop:
    nmap -p 22 192.168.1.* --open

    This command lists SSH servers on your network, so do it once with the BBB unplugged from the network, then again with the BBB plugged in. If you don’t have nmap available on your PC, you can use my findssh program that uses plain Python to find SSH or other servers.

  2. Assuming BBB is at, from your laptop:

Now you’re running with the latest kernel off the eMMC. When I type

df -h

I see I have 89% free eMMC space, using the 3.8.13-bone70 kernel as determined by

uname -a


If you have timezone or locales issues, on your Beaglebone Terminal:

dpkg-reconfigure tzdata
apt install locales
dpkg-reconfigure locales

Leave a Comment