Flashing Arch Linux to the Beaglebone, Beaglebone Black or Beaglebone Black eMMC

By Andreas Wilhelm Oct 13, 2013

At the beginning of my studies at the university of Göttingen I was very interested in micro electronics. From this period I still own numerous electronic components like LCDs, GPS receivers, many different sensors and a camera module. While accessing the GPIOs of the Beaglebone in order to light an LED or to request the value of a sensor is pretty easy, accessing a camera modul or a LC Display is not that simple. That means, that I have been consistently concerned with the different interfaces of the Beaglebone Black during the last few weeks. Meanwhile I freshed up my knowledge about the Qt development suit, the OpenCV computer vision library and different C/C++ libraries that are used to controller camera modules or LC Displays.

So far, I have used Ubuntu or Debian Wheezy (remember my Post Flashing Ubuntu 13.04 or Debian Wheezy to the BeagleBone Black eMMC) with my Beaglebones. The installation of the required packages is unfortunately somewhat more extensive, since the Ubuntu and Debian repositories always lag behind the official releases. Thus libraries like SDL 2 or Qt 5.1 are not yet part of them.

To cut a long story short, I installed Arch Linux on my Beaglebones, because I wanted a fast, always up to date rolling release system. However, I already have two Beaglebones and I decided to install Arch Linux to some micro SD cards, which could then be used with the Beaglebones of the Sensor Networks Lab, a course offered by the University of Göttingen. To speed up this process, i wrote a small script that installs Arch Linux to a micro SD card for the Beaglebone or Beaglebone Black or even to the eMMC rom of the Beaglebone Black. This script could be downloaded from my GitHub Accout.

The software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Using the script is as easy as can be. Before you get started, login as root:

sudo su - root

Then download the script using the following command:

wget https://raw.github.com/Avedo/Beaglebone/master/arch4bone.sh

If the download of the script has finished, you could install Arch Linux to a micro SD card or the Beaglebone Black eMMC rom.

To install the system to a micro SD card you have to provide the script with the board name and the mounting point of the micro SD card. For example, if you would like to flash a SD card for the Beaglebone Black, which is located at /dev/sdb (not /dev/sdb1 or /dev/sdb2), you just have to execute the following command and the image will be downloaded and flashed to the micro SD card:

bash arch4bone.sh --board black --device /dev/sdb

The same command for the Beaglebone White would therefore be:

bash arch4bone.sh --board bone --device /dev/sdb

Installing Arch Linux to the eMMC rom of the Beaglebone Black is also very simple. Boot the BBB using a micro SD card with any linux distribution preinstalled. Then use ssh to connect to your board and become root using:

sudo su - root

Then download the script

wget https://raw.github.com/Avedo/Beaglebone/master/arch4bone.sh

and execute it:

bash arch4bone.sh --board black --mmc

A device does not have to be specified in this case because the two partitions that have to be flashed are always /dev/mmcblk1p1 and /dev/mmcblk1p2. Finally power down the system and wait until all LEDs are off. Remove the power supply, eject the micro SD card and then reapply the power. The system will boot into eMMC.

If you need some more info, read the README file of this script or run:

bash arch4bone.sh --help

Hope this small script is useful for you.

Until next time, happy tinkering.


is a Computer Science MSc. interested in hardware hacking, embedded Linux, compilers, etc.