Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm installing Debian Wheezy (7.0rc1) on a box of mine. For reasons I won't go into here, I don't want the framebuffer to be used for the console display during boot (nor afterwards). To avoid this, I added:

GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=keep

to /etc/default/grub. And indeed, I get text mode in grub, and for the first couple of seconds when booting. But then, the console switches to that infernal framebuffer! :

[    4.407402] Console: switching to colour frame buffer device 128x48
[    4.408544] fb0: nouveaufb frame buffer device

(that's an excerpt from /var/log/dmesg.)

I couldn't find a trace of it anywhere in the /etc/init.d scripts. I thought maybe it has something to do with kernel modules loading - I didn't find anything interesting in /etc/modules or /etc/modprobe.d either.

So, when/where does this happen? And how can I avoid this switch?

share|improve this question

2 Answers 2

Append the following to the kernel command line:

vga=normal nomodeset
share|improve this answer
    
When I do this, I get vga=normal is deprecated. use gfxpayload=text before linux command instead. –  einpoklum Mar 24 '13 at 21:40
    
OK, you can do that. –  Michael Hampton Mar 24 '13 at 21:40
    
Well, you haven't quite answered my question but I've figured it out thanks to your answer. –  einpoklum Mar 24 '13 at 21:58
up vote 6 down vote accepted

(based on @MichaelHampton's answer)

The Linux kernel sets the display mode, apparently, even before the init process runs. Now, the kernel takes parameters from the boot loader - so the thing to do is to set the parameter telling it not to switch display mode. However, this is not the whole story: After the display mode has been set, there's also a setting of fonts which in itself kind of botches up your display; on Debian Wheezy, this is done by /etc/init.d/console-setup, so you also have to consider what it does exactly.

To be more concerte, what you should do is the following:

  1. In /etc/default/grub, add the line

     GRUB_CMDLINE_LINUX="nomodeset"
    

    or, if you already have a GRUB_CMDLINE_LINUX setting, append nomodeset to it.

  2. In /etc/default/console-setup, replace

    FONTFACE="Fixed"
    

    with

    FONTFACE="VGA"
    

    or, alternatively, do not run /etc/init.d/console-setup in the rcS unlevel (e.g. using update-rc.d command).

    As far as I can tell, the "VGA" font is the same as the one you're already supposed to have, so the change of font shouldn't have any effect if you choose this. However, I'm not entirely sure that's universally true, so maybe you're better off just avoiding the font change altogether.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.