Re: [PATCH] console: allow to retain boot console via boot option keep_bootcon

Fabio M. Di Nitto
2011-01-20T06:13:26Z

On 01/20/2011 01:19 AM, Andrew Morton wrote:
> On Wed, 12 Jan 2011 09:40:24 +0100
> "Fabio M. Di Nitto" <fabbione@fabbione.net> wrote:
>
>> From: Fabio M. Di Nitto <fdinitto@redhat.com>
>>
>> On some architectures, the boot process involves de-registering the boot
>> console (early boot), initialize drivers and then re-register the console.
>>
>> This mechanism introduces a window in which no printk can happen on the console
>> and messages are buffered and then printed once the new console is available.
>>
>> If a kernel crashes during this window, all it's left on the boot console
>> is "console [foo] enabled, bootconsole disabled" making debug of the crash
>> rather 'interesting'.
>>
>> By adding "keep_bootcon" option, do not unregister the boot console, that
>> will allow to printk everything that is happening up to the crash.
>>
>> The option is clearly meant only for debugging purposes as it introduces lots
>> of duplicated info printed on console, but will make bug report from users
>> easier as it doesn't require a kernel build just to figure out where we crash.
>>
>
> I don't get it, as usual.

It might just be my itaglish explanation :)

>
> The architecture does
>
> a) deregister boot console
> b) initialize drivers
> c) register console
>
> and the patch basically disables step a).

Yes that is correct.

>
> But if we can do that without screwing things up, why not simply change
> the architecture to not deregister the boot console until after
> initializing the drivers?

I am not entirely sure if this is possible (or even worth it since this
is a pure debugging option) and what kind of effects it might have on
the boot output (in terms of duplicated entries on the output that might
or might not make it more difficult to read). I am happy to investigate
that and come back to you soon.

Thanks for taking your time to review this patch.

Fabio