[U-Boot-Users] 2.6.12 with u-boot-1.1.2 on versatile

Shakthi Kannan shakthimaan at yahoo.com
Tue Jul 19 09:32:13 CEST 2005


Thanks to Wolfgang Denk, Catalin Marinas, and Peter
Pearse, I now have 2.6.12-rmk1 running with
base.cramfs on the PB-ARM926EJ-S. The following
documentation is for reference:

I. 2.6.12-rmk1 kernel compilation HOWTO

1. Download the kernel sources 2.6.12 from kernel.org
and extract it.

2. Download the 2.6.12-arm1 patch from:


3. Enter into the kernel sources directory and apply
the patch:

  patch -p1 < /path/to/patchfile

4. Modify the Makefile to set ARCH and CROSS_COMPILE

  ARCH = arm

5. Copy the config-versatile-pb file provided in
arm.com site to the kernel sources directory as
.config file.

6. To configure the kernel options:

  make menuconfig

7. To compile the kernel:


The Image will be created under arch/arm/boot

To prepare Image for u-boot, do the following: 

Use the mkimage utility created under tools/ directory
inside u-boot sources (when you compile the same) and

  mkimage -A arm -O linux -T kernel -C none -a 0x7fc0
-e 0x8000 -n "Linux kernel image" -d /path/to/Image

II. U-boot 1.1.2 compilation HOWTO

1. Download the u-boot-1.1.2 sources.
2. Extract the sources.
3. Become root using "su -".
4. Make sure cross-toolchain 3.4.3 is installed in
5. Open the Makefile under u-boot and set


3. Configure using:

  make versatile_config

4. Compile u-boot using:

  make all

This will create u-boot, u-boot.bin and u-boot.srec
files. The u-boot file is an ELF file, while the
u-boot.bin is a data file. The mkimage utility will be
compiled under tools/ directory that is used to create
the kernel image. u-boot should _not_ be run from
SDRAM directly. You should flash it and run it from
there. You can also use the u-boot image provided in
arm.com directly by flashing it to NOR flash and
running it.

III. Flash the base.cramfs

Copy the base.cramfs provided in arm.com site to NOR

IV. Booting the system

1. Program the images to the NOR flash. For example:
 0xaabbccdd u-boot-pb
 0xbbccddee uImage
 0xccddeeff cramfs.base

2. Set configuration switch S1-1 to ON, power up the
board, connect with kermit.

3. Enter Flash submenu, and run u-boot-pb:

 run u-boot-pb

4. Copy the uImage from flash to SDRAM:

 cp 0xbbccddee 0x7fc0 0x123456

 (Syntax: cp <source> <target> <size>)

5. Set the bootargs value

 setenv bootargs root=/dev/mtdblock0
mtdparts=armflash.0:0x65d000 at 0x2200000(cramfs) ip=none
mem=128 console=ttyAMA0 video=vc:1-2clcdfb:

 (Note: 0x65d000 is size of base.cramfs and 0x2200000
is offset of base.cramfs from the flash base address)

6. Bootup

 bootm 0x7fc0

Its been a wonderful learning experience, folks! 

Thanks again,

K Shakthi

proudly anti-micro$oft
Shakthi Kannan, MS
Software Engineer, Specsoft (Hexaware Technologies)
[E]: shaks at shakthimaan.com           [M]: (91) 98407-87007
[W]: http://www.shakthimaan.com      [L]: Chennai, India

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the U-Boot mailing list