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