Enable the earlyprintk console to the serial port, to allow the debugging of
very early hangs/crashes.
Since we already enable the serial console by default, this is a natural
extension of it.
I have tested that it indeed works, by provoking an early hang that triggers
after the early console is enabled by before the real console is registered. In
that case before the patch we get:
$ ./kvm run --cpus 2
[ silent hang ]
With this patch applied i got the early output:
$ ./kvm run --cpus 60
[ 0.000000] console [earlyser0] enabled
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version
2.6.39-rc6-tip-02944-g87b0bcf-dirty (mingo@aldebaran) (gcc version 4.6.0
20110419 (Red Hat 4.6.0-5) (GCC) ) #84 SMP Mon May 9 02:34:26 CEST 2011
[ 0.000000] Command line: notsc noapic noacpi pci=conf1 console=ttyS0 earlyprintk=serialroot=/dev/vda1 rw
[ 0.000000] locking up the box!
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
kvm->nrcpus = nrcpus;
memset(real_cmdline, 0, sizeof(real_cmdline));
- strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 ");
+ strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 earlyprintk=serial");
if (kernel_cmdline)
strlcat(real_cmdline, kernel_cmdline, sizeof(real_cmdline));