* system boots with 'console=tty1 console=ttyS0'
* system may not actually have a serial device (see mesg for more info)
* kernel output does get to video console (and ttyS0 locations on systems where that is available)
* all cloud-init jobs have 'console output', and some run successfully, but then one fails.
* echo HI MOM | sudo tee /dev/console
results in:
tee: /dev/console: Input/output error
* starting job afterwards as 'start cloud-init-final' will die immediately
running the same thing it *would* run by hand (but with output not to /dev/console) will run to completion.
So it certainly seems to me that kernel assigned /dev/ttyS0 to /dev/console and upstarts' stdin and stdout there. and then later that device 'went bad'.
I was under the impression that kernel went through these and assigned /dev/console to the last valid entry, but it appears i may be wrong [1] on that.
OK. So, heres a summary of the problem.
* system boots with 'console=tty1 console=ttyS0'
* system may not actually have a serial device (see mesg for more info)
* kernel output does get to video console (and ttyS0 locations on systems where that is available)
* all cloud-init jobs have 'console output', and some run successfully, but then one fails.
* echo HI MOM | sudo tee /dev/console
results in:
tee: /dev/console: Input/output error
* starting job afterwards as 'start cloud-init-final' will die immediately
running the same thing it *would* run by hand (but with output not to /dev/console) will run to completion.
So it certainly seems to me that kernel assigned /dev/ttyS0 to /dev/console and upstarts' stdin and stdout there. and then later that device 'went bad'.
I was under the impression that kernel went through these and assigned /dev/console to the last valid entry, but it appears i may be wrong [1] on that.
-- www.kernel. org/doc/ Documentation/ serial- console. txt
[1] http://