beagleBoard xM rev C - Custom Linux 3.2.9 booting error : prompt lost

Hi there!

I’m working with the beagleboard (BB) xM rev C, and i’ve created a new linux distribution of my own. Here you have some details:
My desktop : debianLinux 2.6.32-220.7.1.el6.x86_64
Cross compile tool: http://crosstool-ng.org 1.14.1
Bootloader: ftp://ftp.denx.de/pub/u-boot/u-boot-2011.12.tar.bz2
Initramfs: http://busybox.net/ - 1.19.4
Kernel: http://www.kernel.org/ - http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.9.tar.bz2
Patches: 0025-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
Rootfs: http://buildroot.uclibc.org - buildroot-2012.02

To do so, i have added on the .config file of the kernel the following line:
CONFIG_INITRAMFS_SOURCE="…/…/initramfs/busybox/output …/…/initramfs/init …/…/initramfs/script"

The script file is the following:

Initial /dev entries (refer to Documentation/devices.txt for major/minor allocations)

dir /dev 0755 0 0
nod /dev/console 0666 0 0 c 5 1

Manually create the ttyO2 (mdev is started later)

nod /dev/ttyO2 0666 0 0 c 4 2

Base system directories

dir /proc 0555 0 0
dir /sys 0755 0 0
dir /tmp 0777 0 0
dir /var 0755 0 0
dir /disk 0755 0 0
dir /lib 0755 0 0

Boot options

slink /init /init_minimal 777 0 0 # Stop into the initramfs

The last line of the script file is going to give the hand to the init_minimal file: i use this one for debug purposes. The rootfs filesystem is not going to be mounted: the initramfs filesystem remains and a shell should be launched with tools included in within busybox.

On the init_minimal file i launch the shell:
#!/bin/sh

Keep the initramfs alive (for debug purposes)

echo ‘minimal_init’
exec /sbin/init

I compile each part, and i copy the following files to the first partition of my 4GB SDCard:
MLO (output of booloader)
u-boot.img (output of booloader)
uEnv.txt
uImage (output of kernel compilation)

The uEnv.txt file is the following:
console=ttyO2,115200n8
loadaddr=80300000
loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage
optargs=noinitrd

I insert the SDCard on the BB, i launch minicom on my desktop (/dev/ttyS0, 115200 8N1, no hard nor software control), i get messages from BB, the kernel uncompresses, it starts to execute (dmesg messages). My intention is to have a shell prompt that should be launched after the initialisation of the kernel : the filesystem in play should be initramfs (rootfs is not yet mounted).

But on the minicom output i don’t get that prompt: the kernel stops speaking to serial port (no error messages) and then nothing happens: it seems to me that the prompt is ‘somewhere else’ but I can’t get to it. I don’t know if it’s a matter of consoles/tty devices… i’ve been reading information about it, but i have found nothing that helped me.
Here the last booting sequence messages got in my minicom terminal (whole sequence attached on file)

[ 2.647644] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 2.664550] Freeing init memory: 1212K
minimal_init[ 2.721649] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 2.739929] mmc0: new high speed SDHC card at address 23fa
[ 2.763519] mmcblk0: mmc0:23fa SD04G 3.69 GiB
[ 2.787200] mmcblk0: p1 p2

What i find quite estrange is that it prints the echo ‘minimal_init’ of my 'init_minimal" script, but then the “exec /sbin/init” seems to be ‘lost’ somewhere (no prompt of the shell).

Have you already experience this kind of problem?? any idea where it could come from??

Thank you very much in advance!!

Note: i read that on http://lists.denx.de/pipermail/u-boot/2011-May/091843.html
“Latest OMAP kernels use ttyO* instead of ttyS* and the necessary change are already there in U-Boot.
Look at “include/configs/omap3_beagle.h” in the U-Boot sources.”

That’s why i used console=ttyO2,115200n8

BBbootingsequence.txt (29 KB)