The Linux Page

Large scale Linux console

As I am working on our Snap! C++ CMS, I created a set of virtual systems to test the compilation on "clean" system (yeah! my main computers has all sorts of things that I don't even know about...)

In those virtual system, I only install the basic server and then do a sudo apt-get install of anything else the server needs to get compiled. This includes libraries such as libmagic, boost, and Qt and some tools like xmllint. This is pretty cool, but when working in a console, and that console is very small, it makes it a bit difficult, so I looked into making it big.

For this purpose you have three steps with GRUB version 2.x

Step 1

On boot, go to the GRUB editor using the Ctrl-e command. It is written at the bottom of the screen. To avoid the auto-boot, use the arrow down to stop the count down. Then take your time to read the instructions.

You may have to go to the Advanced screen to be able to do that, but you shouldn't have to.

Once in the editor, you can use the Ctrl-c command to go the the GRUB Shell. That shell allows you to edit view the available VBE modes (also referenced as VGA modes, even though these are not really related.)

By default the system uses "auto" which in case of a virtual box means 640x480 in 16 colors (x4). Any other mode that's listed is available to you. To get a complete list do this:

set pager=1

The pager needs to be set if you want to see everything on a small screen. The vbeinfo shows you lists of available VBE and their dimensions (width, height, and depth). For example, you will see 640x480x4 as one of the entries. Choose the one you want, and then go to Step 2.

Note that if you choose a really large scale and are running your virtual system under X-Windows, you may get scrollbars and not be able to really enjoy your experience... It's hard to read long lines when you have to scroll left to right all the time!


If you have it installed, the hwinfo command can be used at a command prompt too:

hwinfo --framebuffer

Step 2

To actually set the size permanently, you want to setup the GRUB variable named GRUB_GFXPAYLOAD_LINUX with the dimensions you picked. For example, one that works well for me is:


To also setup the GRUB screen at the same dimensions, you can use the GRUB_GFXMODE variable to the same value:


Note that if you want to use the same mode in Linux as you have in GRUB, you can also use the special value keep in the payload:


Note that I found the GRUB documentation, but that does not include the Debian/Ubuntu settings in Linux. It's only the low level GRUB variables...

Step 3

The third step is just to update the GRUB parameters (what you changed in Step 2) so they actually get used. This is done with the following command:

sudo update-grub