Install Debian to Beaglebone Black eMMC

Consider the semi-automated script to install Debian to the eMMC of the Beaglebone Black.


This procedure requires a 4 GB micro SD card or larger, and assumes a Linux laptop. We will copy a Linux operating system image to eMMC from a micro SD card.

On laptop PC, download the Debian Beaglebone Black (BBB) image. For an old 2 GB Beaglebone, use the 2gb image.

Type lsblk, note which drives are listed, then insert the SD card into the laptop and type lsblk again–the new item is your SD card. We assume /dev/mmcblk0.

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.

[optional] monitor data writing to SD card with

iotop

Ensure writing has completed with

sync

Insert micro SD card into the (non-powered) BBB and then apply the power. 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. 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).

Once the BBB has shut down, REMOVE the micro SD card from the BBB. 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.

Find the IP address of the BBB on your LAN (plug the BBB into the Ethernet). Assuming local network IP addresses 192.168.1.xxx, 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.

Assuming BBB is at 192.168.0.5, from your laptop:

ssh debian@192.168.0.5

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

df -h

The 3.8.13-bone70 kernel is shown:

uname -a

Notes

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

dpkg-reconfigure tzdata
apt install locales
dpkg-reconfigure locales

Troubleshoot HDMI with parse-edid, obtained by:

apt install read-edid