Install Debian to eMMC (internal flash drive) of Beaglebone Black

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

However I liked doing it the way below better.

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

This procedure assumes you’re on a Linux laptop.

Beaglebone setup prereqs

  1. on your laptop PC, download the Debian Beaglebone Black (BBB) image.  You can select Debian 8.x, which I suggest for current (Dec 2015) development. To be safe, get the “all revs” 2GB image in case you have a pre-Rev C BBB that only has 2GB eMMC. You can easily expand the partition after install if you have a Rev C BBB with 4GB eMMC.

  2. [optional] check that Debian image checksum is correct by typing in Terminal:

     sha256sum BBB-eMMC-flasher-debian*2gb.img.xz
    
  3. 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 below that it was /dev/mmcblk0 (check on your PC!!)
  4. type in Terminal:

     sudo -s
    
     xz -cd BBB-eMMC-flasher-debian*2gb.img.xz > /dev/mmcblk0
    

The Debian installation onto the Beaglebone SD card takes about 5 to 20 minutes.  You’re writing data to the SD card at say 2MB/sec if using a Class 4 SD card, and say 6MB/sec if using a Class 10 SD card, and you’re writing uncompressed about 2GB to the SD card. You can monitor data writing to SD card with

sudo iotop

or

indicator-multiload

Fresh SD card into Beaglebone

  1. insert this micro SD card into the (non-powered) BBB and then apply the power. The BBB’s 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. This 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).

  2. Once the BBB has shut down, REMOVE the micro SD card from the BBB.

  3. Unplug/plug the power or just push the onboard POWER button next to the BBB Ethernet jack.

Booting the Beaglebone with the eMMC-resident OS

Note, you might be one of those whose microHDMI adapter/monitor combo doesn’t work with the BBB. Well, it’s OK, since there is an SSH server running by default available through the mini-USB port.

Now power up the BBB by plugging in a mini-USB cable from your laptop to the Beaglebone Black, or use the standard DC power adapter.

You do need to know the IP address of the BBB on your LAN (plug the BBB into your Ethernet). To find the IP address, (assuming your local network IP addresses are like 192.168.1.xxx) type:

nmap -sn 192.168.1.* --open
nmap -p 22 192.168.1.* --open

This will list most things on your network. 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.

Let’s say the BBB is at 192.168.0.5, then, in Terminal on your laptop, type:

ssh [email protected]

Change the factory password now by typing

passwd

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

uname -a

on the 3.8.13-bone70 kernel.

Beaglebone Debian installation cleanup

On your Beaglebone Terminal:

sudo dpkg-reconfigure tzdata
sudo apt install locales
sudo dpkg-reconfigure locales