PandaBoard ES uboot howto

Revision as of 03:43, 27 December 2011 by RobDay (Talk | contribs) (Note that Ubuntu toolchain package generates a compiler error.)

Jump to: navigation, search

Getting the Source

To get the source code for U-Boot, clone a copy of the Linaro U-Boot stable tree:

mkdir pandaboard-es
cd pandaboard-es
git clone git://
cd u-boot-linaro-stable
git checkout -b pandaboard-es origin/Linaro-u-boot-2011.12

As of 12/18/2011, the master branch tagged Linaro-u-boot-2011.12 produces a working MLO/U-Boot pair which will boot both Panda and Panda-ES boards. Previously, the Panda EA1 with rev ES2.0 silicon would not boot.

Configure and Compile

To configure and compile U-Boot for PandaBoard ES do the following:

make omap4_panda_config

NOTE: The above currently generates a compiler error using the toolchain that comes with Ubuntu's gcc-arm-linux-gnueabi package as follows:

... snip ...
arm-linux-gnueabi-gcc  -g  -Os   -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ 
  -I/home/rpjday/panda/uboot/u-boot-linaro-stable/include -fno-builtin 
  -ffreestanding -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.6.1/include 
  -pipe  -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 
  -Wall -Wstrict-prototypes -fno-stack-protector -Wno-format-nonliteral -Wno-format-security 
  -o clocks.o clocks.c -c
clocks.c: In function ‘enable_non_essential_clocks’:
clocks.c:420:13: internal compiler error: in decode_addr_const, at varasm.c:2638
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccE2XxKg.out file, please attach this to your bugreport.

If someone discovers a solution or workaround for this, feel free to edit this page and explain it.

Copy Files

Copy the MLO and U-Boot images to the boot partition of your mounted SD card:

cp MLO /media/boot
cp u-boot.img /media/boot

Make sure you unmount your SD card prior to removing it from the host PC.