[beagleboard] Booting issue on custom omap3530 board


I am trying to port my custom Omap board to a new kernel using
RobertCNelson-2.6.39-devel kernel and Angstrom.

Problem is I can't get the kernel to boot.
The version out of the box from the factory works fine and I have
tried to make the new kernel the same.
I have also played round a bit with uboot as I think the machine ids
need to line up to get it to boot?

Is the factory 'kernel' and 'uboot' source available by chance? (for
adding the machine id's).

S zero rather than SO perhaps?



CJNZ wrote:

Sorry, I mean how does uboot specify ttySO or ttyS2.

The bootargs passed to the Linux kernel specify the serial port for the
console. You can either compile this into u-boot as default settings or
configure it using a boot script.

I am trying to boot 2.6.39 kernel .. my new uboot works with 2.6.32
using ttyS2

ttyS2 was used in 2.6.32. This was changed to ttyO2 for OMAP kernels
since then.

Which IMHO was not a wise decision...

The rationale apparently for the rename was, that there is an old driver
(bound to /dev/ttyS*) on all CPUs and platforms. And a new OMAP specific
driver that is faster and binds to /dev/ttyO*.

This needs to change the U-Boot parameter

  console=ttyS2, ...


  console=ttyO2, ...

You may also have to modify your /etc/inittab and maybe /etc/securetty
to get a login: on your RS232.

I just wonder if anyone uses both drivers in parallel? And if hard-coding
a driver version into the /dev name is really wise.

-- hns


Thanks for the advice.

I have made changes to the boot cmd and file system.
Problem is higher than that - it is actually in the uboot code.
I'm not sure where it defines ttyS2 or ttyO2 though.
It must be there somewhere because it works fine using ttySO in the
boot cmd with the standard Beagle uboot and 2.6.39 kernel.
It does not work with ttyO2, my custom uboot and the 2.6.39 kernel but
it does work with 2.6.32 if I use ttyS2.

It isn't the u-boot code, think about it.. Why would u-boot care what
the linux kernel's serial driver name?

u-boot loads & dumps info over serial -> loads kernel bootargs ->
loads linux kernel -> linux boots using ttyS2/ttyO2..

ttyS2 would still work in 2.6.36+ if you disable the omap serial
driver and use the old generic one again..

You have to wonder why people make changes when it is not broken :wink:

But it was broken.. :wink: