I used the buildroot to create the linux kernel and the root filesystem for the atmel at91rm9200-ek board.
I configured the buildroot to generate zImage. Also I did not change much of the configuration for busy box except that i disabled all options in the "Login/Password Management Utilities" list.
Buildroot generated binary files zImage, rootfs.arm.ext2. Then using gzip i generated zImage.gz and rootfs.arm.ext2.gz. Then for zImage.gz alone I did mkimage by issuing the following command. mkimage -A arm -O linux -T kernel -C gzip -a 0x20008000 -e 0x20008000 -d zImage.gz linux-ek"
Then I tftped the linux kernel (linux-ek) to the target location0x20410000
Also I tftped the ramdisk-rootfs.arm.ext2.gz to the target location0x21400000
I also had set the bootargs variable in the uboot environment as shown below.
bootargs 'mem=32M console=ttyS0,115200 initrd=0x21400000 root=/dev/ram0 rw rootfstype=ext2'
I verfied whether the kernel support for ramdisk was enabled, by moving to project_build_arm/uclibc/linux-2.6.28 folder and issuing make ARCH=arm menuconfig. THe option "Initial RAM filesystem and RAM disk(initramfs/initrd support)" was enabled.
After this on the target Linux kernel loaded successfully, but it was not mounting the ramdisk and I could not find any messages related to ramdisk mounting. It then displayed the following message
"Please press Enter to activate this console.". Even after selecting enter the same message was displayed.
Even when I did not load the ramdisk the same message was seen. Seems the kernel does seem to look for the ramdisk at all.
I tried many other things before posting you ppl for help. Nothing worked. Kindly help.