Build Ubuntu kernal to support RS232 Cape non-default UART?

I have successfully built Ubuntu 12.04 for the Bone (Thanks Robert Nelson!) and now have the Circuitco RS232 cape working with the default UART2. I’d like to use UART4 as an alternative. Ideally I’d like to enable both (all) of them so that one can just be selected via the jumpers.

Are there (or can some kind soul provide) step by step instructions suitable for a newbie for building what needs to be done to achieve this? I have Ubuntu 12.04 on a desktop PC that I mostly use for development before moving things to the Bone.


Take a look at the kernel board-file. There's examples for setting up
the UART pin muxing in there. Then just recompile the kernel. The
clocks should all already be enabled properly. Besides that, just make
sure /etc/securetty and your inittab (or what ever Ubuntu uses now)
puts a getty on the TTY you want to use.

Board file is in kernel source arch/arm/mach-omap2/board-am335x_evm.c
(from memory, but around there).


For Ubuntu Image, its using upstart with a script that looks like this:


start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

exec /sbin/getty 115200 ttyO0

If you'd like to move the login, just change ttyO0 to something else
(that your cape uses).. If you'd just like to create a second login
getty terminal, just copy that script and again change the ttyO0..


Thanks - I will try to find and poke around in the appropriate source files and see what I can learn. I don’t need/want to log in via the serial port, but once the BB is up and running I want to be able to use any possible port.