I recently installed Debian Squeeze beta in VirtualBox to begin testing our systems for the eventual migration to Squeeeze when it comes out.

The first thing I always do when I set up a non-GUI system is adjust the default 640x480 console resolution to something a bit more usable. In the previous version of Grub, that was easy. You simply added "vga=771" (or whatever VGA code matched your desired size and depth) to the kernel line and everything works perfectly.

But squeeze uses Grub2 which has a very different configuration setup. And unfortunately for me, simply adding the "vga=X" line to the kernel parameters doesn't work.

A bit of googling turns up that there's a different way now of doing setting this, at least in Debian. You edit "/etc/default/grub", uncomment the "GRUB_GFXMODE=" line, and put in your desired resolution. I'm working on a relative small laptop screen so I put in "GRUB_GFXMODE=800x600" and then run "update-grub" to save my changes.

Upon reboot the grub menu itself is in 800x600. But as soon as squeeze starts booting, it reverts back to 640x480. Not the desired behavior at all.

Fortunately, more googling turns up this very helpful post that explains that you also need to set another variable, this time in the "/etc/grub.d/00_header" script. Find the line in that script which says "set gfxmode=${GRUB_GFXMODE}" and add "set gfxpayload=keep". Run "update-grub" again and then reboot.

Now the console itself stays the correct size.

So to recap, in "/etc/default/grub":GRUB_GFXMODE=800x600In "/etc/grub.d/00_header":set gfxmode=${GRUB_GFXMODE}
set gfxpayload=keep
Runupdate-gruband reboot to get the new console size.