I'm setting up a test platform in VirtualBox, the host system is Ubuntu Lucid Desktop, and the guest system is Ubuntu Lucid Server.

The basic server installation provides 80x25 console with slow scrolling and slow screen updates. This has been fixed by blacklisting vga16fb. After that I got 80x25 console with quick screen updates and scrolling.

Then I tried to disable splash screen and quiet mode by editing /etc/default/grub, removing splash and quiet default boot parameters from GRUB_CMDLINE_LINUX_DEFAULT. After that I got boot messages quickly displayed during the boot on 80x25 console.

Then I tried to set up higher resolutions in console. I provided a desired graphics mode in /etc/default/grub file with GRUB_GFXMODE parameter, and set GRUB_GFXPAYLOAD_LINUX parameter to keep to keep the graphics mode persistent in console. After that I have a desired resolution in grub menu, desired resolution in console, but the boot messages between grub boot line selection and login screen are now invisible (black screen).

How to configure grub and console so that all parts of the boot process - grub, boot messages and console login - are visible in a desired resolution console?

UPD: Things go better once I provide fbcon module for initrd: edit file /etc/initramfs-tools/modules and add a fbcon line there, then rebuild the initrd by issuing update-initramfs -vu. All as root, of course. After that I started to see boot-up messages, first of them saying Console: switching to colour frame buffer device 128x48. However, some of the boot-up output goes into different console mode (like fsck messages), and I see the screen switching there and back again. But still that's much more than blank screen.


It is probably a better idea to run a vm-server in headless mode and console into it, having any terminal width your guest can manage. There is a virtualbox-headless command for the purpose. You can set up a stty in the guest and redirect boot messages to the same stty by a kernel command line in grub, like:

BOOT_IMAGE=/boot/vmlinuz-3.0.0-10-generic root=/dev/sda1 ro console=ttyS0,38400n8 vt.handoff=7

then, in the host, copy /etc/init/tty6.conf to tty8.conf and replace the line

exec /sbin/getty -8 38400 tty6


exec /sbin/getty -8 38400 ttyS0

Finally configure the image to output serial0 to /dev/pts on the host. (This works good with kvm, it should also go with virtualbox)

Anyway, if you don't like this approach, install the guest additions. Then you should be able to achieve higher resolutions. The slow scrolling comes from the fact that the vga16fb is indeed 16-bits color info per pixel and the poor console has to transform each pixel to the 24 or 32 bits of your hosts X11 and monitoring pixel changes isn't trivial, so if you somehow can increase the color depth to match your hosts, scrolling should speed up.

  • Tweaking with the host's serial console won't help, as the virtualized solution will be re-implemented on dedicated machine once the virtual setup is tuned. Also, the scrolling issue has already been coped with by blacklisting 'vga16fb'. At the moment, mode setting between grub and login prompt seems invalid. By the way, how know what driver is being used once 'vga16fb' has been disabled? – mbaitoff Sep 16 '11 at 0:55
  • These issues will likely go away as soon as you switch to the dedicated machine which will be supporting KMS, I hope. fbcon should depend on the module like "lsmod | grep fbcon" – aquaherd Sep 19 '11 at 19:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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