# Building usbboot

I have mentioned usbboot in the post Install AOSP build to PandaBoard. In this post I show how you can tweak the usbboot utility and build it from source. I am running Ubuntu 12.04 within Parallels on Mac OS X.

To begin, clone omap4boot from GitHub.

## Obtain toolchain

The build procedure requires the gcc cross-compiler for ARM. It can be obtained as follows

sudo apt-get install gcc-arm-linux-gnueabi


## Build

Execute make

TOOLCHAIN=arm-linux-gnueabi- make


I had to patch the Makefile to avoid the following error

trusted.S:10: Error: selected processor does not support ARM mode smc 1'


## Execute

It is rather straightforward to execute the newly baked usbboot. Here’s how you can use it in place of the binary that ships with AOSP

sudo <omap4boot folder>/out/panda/usbboot <aosp folder>/device/ti/panda/bootloader.bin


Unfortunately, still does not work with PandaBoard Rev A2.

## Debug using serial port

The second stage loader that usbboot sends to PandaBoard writes some useful debug information to the serial port. You can view that information using a terminal emulator on Ubuntu

miniterm.py -b 115200 /dev/ttyUSB0
`