UBoot must usually be installed in a Flash memory to be
executed by the hardware. Depending on the hardware, the installation of UBoot
is done in a different way
The board provides some kind of specific boot monitor, which allows to flash the second stage bootloader. In this case, refer to the board documentation and tools UBoot is already installed, and can be used to Flash a new version of UBoot.
However, be careful: if the new version of UBoot doesn't work, the board is unusable
The board provides a JTAG interface, which allows to write to the
Flash memory remotely, without any system running on the board. It
also allows to rescue a board if the boot loader doesn't work.
The bootloader that comes factory installed on the Micro2440 and the Mini2440 board is called Supervivi. I don't personally like it. It has very limited support and requires a YAFFS filesystem for the root filesystem. So when I bought my board I began to immediately search out an alternative. The bootloader by choice, it seems, is a modified version of U-Boot with modifications for the Mini2440 board's hardware
The code is maintained by a guy named buserror. I'll provide his information at the end of this howto.
At the time of writing this, I had some issues with getting Buserror's U-Boot working correctly.
The code that is in his git repository, doesn't run from RAM without a modification to the source. So here are the instructions that I gathered for altering and compiling it, and getting it going on the Mini2440 and Micro2440 board.
For this to work, I'm going to assume that you have a crosscompiler set up. Later on, I will probably write an entry here about setting that up, but not now. I'm also assuming you have git installed.
Step 1: Get the source
mkdir uboot ;
cd uboot
git clone git://repo.or.cz/u-boot-openmoko/mini2440.git
Step 2: Set your cross compiler prefix so you don't end up compiling this for x86.
export CROSS_COMPILE=arm-none-linux-gnueabi-

how to compile u boot for arm9 friendly arm mini 2440 micro 2440 ?? what is uboot