Currently, qemu library starts a nested VM with two serial ports:
#0: Linux console (this is where kernel messages go) and login shell, bound to TCP port
#1: Qemu GA, used for guest agent
The drawback is that linux console messages typically get discarded, as there is not normally a TCP client attached to console #1.
This issue is to change the serial ports to the following:
#0: Linux console (this is where kernel messages go) -> redirect to file
#1: Qemu GA -> no change
#2: Serial console login shell -> bind to TCP socket
This way, the serial console would still provide an out-of-band access (via port #2 aka ttyS2), but we would also have a file capture of all kernel output (via ttyS0).