Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "PandaBoard ES uboot howto"

From eLinux.org
Jump to: navigation, search
(Added Panda Category this page may easier be found.)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Getting the Source ==
 
== Getting the Source ==
  
to get the source code for u-boot, clone a copy of the linaro u-boot stable tree:
+
To get the source code for U-Boot, clone a copy of the Linaro U-Boot stable tree:
  
 
<pre>
 
<pre>
Line 8: Line 8:
 
git clone git://git.linaro.org/boot/u-boot-linaro-stable.git
 
git clone git://git.linaro.org/boot/u-boot-linaro-stable.git
 
cd u-boot-linaro-stable
 
cd u-boot-linaro-stable
git checkout -b pandaboard-es 2011.11.2
+
git checkout -b pandaboard-es origin/Linaro-u-boot-2011.12
 
</pre>
 
</pre>
  
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.
+
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 ==
 
== Configure and Compile ==
  
to configure and compile u-boot for PandaBoard ES do the following:
+
To configure and compile U-Boot for PandaBoard ES do the following:
  
 
<pre>
 
<pre>
 +
export CROSS_COMPILE=arm-none-linux-gnueabi-
 
make omap4_panda_config
 
make omap4_panda_config
 
make
 
make
 
</pre>
 
</pre>
 +
 +
Note:
 +
This assumes that you are using and have installed the CodeSourcery  2011.03-41 for ARM GNU/Linux toolchain.
 +
If you are using a different toolchain, make sure to adjust the CROSS_COMPILE variable accordingly.
 +
 +
Using "Sourcery CodeBench Lite 2011.09-70 for ARM GNU/Linux" generates a compiler error, as does using the toolchain that comes with Ubuntu's <tt>gcc-arm-linux-gnueabi</tt> package as follows:
 +
 +
<pre>
 +
... snip ...
 +
arm-linux-gnueabi-gcc  -g  -Os  -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__
 +
  -DCONFIG_SYS_TEXT_BASE=0x80E80000 -DCONFIG_SPL_TEXT_BASE=0x40303080
 +
  -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.
 +
</pre>
 +
 +
At the present time, this seems to be a problem with gcc 4.6.1.
 +
 +
GNU gcc 4.6.2 appears to have a fix for this issue. Stay tuned for a How-to on how to build a gcc 4.6.x toolchain that will properly compile u-boot.
  
  
 
== Copy Files ==
 
== Copy Files ==
  
copy the MLO and u-boot images to the boot partition of your mounted sd card
+
Copy the MLO and U-Boot images to the boot partition of your mounted SD card:
  
 
<pre>
 
<pre>
Line 33: Line 61:
 
</pre>
 
</pre>
  
make sure you unmount your sd card prior to removing it from the host pc.
+
Make sure you unmount your SD card prior to removing it from the host PC.
 +
 
 +
[[Category:PandaBoard]]

Latest revision as of 07:47, 31 January 2012

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://git.linaro.org/boot/u-boot-linaro-stable.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:

export CROSS_COMPILE=arm-none-linux-gnueabi-
make omap4_panda_config
make

Note: This assumes that you are using and have installed the CodeSourcery 2011.03-41 for ARM GNU/Linux toolchain. If you are using a different toolchain, make sure to adjust the CROSS_COMPILE variable accordingly.

Using "Sourcery CodeBench Lite 2011.09-70 for ARM GNU/Linux" generates a compiler error, as does 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__ 
  -DCONFIG_SYS_TEXT_BASE=0x80E80000 -DCONFIG_SPL_TEXT_BASE=0x40303080 
  -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.

At the present time, this seems to be a problem with gcc 4.6.1.

GNU gcc 4.6.2 appears to have a fix for this issue. Stay tuned for a How-to on how to build a gcc 4.6.x toolchain that will properly compile u-boot.


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
sync

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