Installed a new Ubuntu 10.04 amd64 server yesterday. (Before my BSD devotee readers scream in outrage, this is for a particular application. When a software stack runs on a particular OS, you use that OS.) On the first boot, the boot loader completed… and the screen went blank. The hard drive light was on.
Single user mode? Same thing.
Bad install? But I could ping and SSH into the host.
A bit of research took me to http://www.ubuntugeek.com/ubuntu-10-04-lucid-lynx-and-intel-video-chipsets.html, where I learned that the new Ubuntu has trouble with certain video cards and old monitors. Anyone X user knows that “Weird Stuff Happens.”
But I’m booting a server. With a text console. Why is a text console affected by a problem affecting fancy graphics? Because… wait for it… Ubuntu 10.04 uses a framebuffer for console video.
Framebuffers are great for fancy graphics. They’re fragile, though. Weird Stuff Happens with framebuffers. Such as, say, combinations of certain video card and certain monitors not functioning. Most servers go in colocations. A colocation is almost guaranteed to have old or downright antediluvian monitors on its crash carts. Even if you test your server with the crash cart monitor when you install, there’s no guarantee that the same monitor will be available when you visit that same server again, months or years later.
Server guys don’t care about fancy graphics on the console. We really don’t. If I’m at a datacenter, listening to the roar of the AC, I probably don’t want to be there. Something is almost certainly broken. I’m already annoyed. And I don’t want to put up with bad video when I’m annoyed.
So, my new goal is: shoot the framebuffer in the head.
Ubuntu has a facility for not loading kernel modules: list the module in one of the blacklists in /etc/modprobe.d/ . I edited /etc/modprobe.d/blacklist-framebuffer.conf and added:
blacklist i915
blacklist fbcon
(Hmmm… it would be nice if WP let me change the font on text snipped from config files. I’m sure it can, I’ll have to learn how.)
Reboot the system. Text appears on the console. Hurrah!
An “lsmod” shows that the system is still using the framebuffer, but not the i915 Intel driver. It appears that the framebuffer is just treating the video as an old-fashioned VGA device. Which should be fine — it’s the lowest common denominator, and it shouldn’t have any trouble with any monitor.
But if I go to the colo for an emergency, and the oh-so-fancy framebuffer bites me in a tender piece of anatomy, there will be server defenestration. I’ll have to lug the machine from the basement datacenter to one of the empty offices on the fifth floor, but it’ll be worth it.