"Filing" this bug report on linaro-dev for now, so I don't forget it. I can't figure out how to file a but against linaro-overlay on launchpad. (Any suggestions?)
Cheers ---Dave
--
linaro-overlay: auto-serial-console clobbers bootup serial port configuration
auto-serial-console makes incorrect assumptions about the contents of the kernel console= command-line paramter (compare auto-serial-console with linux/Documentation/kernel-parameters.txt)
This means that booting a kernel with a console= argument which has no explicit speed or which has other unusual settings, auto-serial-console may mess up the serial port when it calls getty, especially if the initial serial port speed is not 115200 baud. The kernel itself does not require all serial port parameters to be specified on the command-line: in that case, the setup done by the bootloader is simply used as-is.
auto-serial-console does not determine the actual port speed if the kernel command-line has no explicit speed; instead it just defaults to 115200.
The simplest fix is simply not to set the relevant serial port communication parameters when initialising the terminal. This should be a more robust solution, and would allow auto-serial-console to be simpified. Unfortunately, util-linux's agetty (the default getty for Ubuntu and linaro filesystems) always sets these parameters explicitly. This is an arguable misfeature and could probably be solved with a simple patch. Alternatively, it would be worth investigating whether one of the other existing getty variants will already do the desired thing.
An alternative workaround could be to use stty to read the current parameters of the serial port, and use this information to pass the appropriate arguments to getty. This may be fragile though, since stty does not produce reliably parseable output; the only options are to produce output which is human-readable, and output which is only readable by stty itself.
This bug does not affect the linaro releases directly, but can affect the use of Linaro filesystems with unsupported boards or custom kernel setups, particularly where the board's boot-time serial port speed is not 115200 such as on vexpress.