I’ve been using VirtualBox as my virtualization platform of choice on Windows 7. Several years back, I liked Virtual PC 2007, but ever since I wanted to try NEXTSTEP/OPENSTEP on a virtual platform, I switched over to VirtualBox (Virtual PC 2007 was causing a kernel panic during OPENSTEP installation). I do use Windows Virtual PC in certain circumstances, and have been playing around with XP Mode, but VirtualBox has been stable and updates are frequent (even after Oracle’s acquisition of Sun).
A week ago, I was upgrading a bunch of Linux installations and one of them was my VirtualBox Kubuntu install. I opted for a clean installation of Kubuntu Lucid Lynx (tried 10.04 and then tried 10.04.1). Installation ran smoothly on all my attempts, but when it came to the initial boot of the installed system, it would always first show an error message about the BIOS and then hang on the splash screen:
It took so many attempts to figure out a workaround. I suspected so many things, from GRUB2 to the kernel to Xorg. An old colleague Scott Hanselman blogged about having to install Ubuntu on Windows Virtual PC and having to modify GRUB2 to pass certain parameters to the kernel at boot time. The additional parameters were not necessary with VirtualBox because in my attempts, I even tried installing Ubuntu Lucid Lynx (also 10.04.1) without any changes and that didn’t hang on the splash screen. Installing Ubuntu did show the same BIOS error message “piix4_smbus 0000.00.07.0: SMBus base address uninitialized – upgrade bios or use force_addr=0xaddr” so that may not be the cause of the issue I’m encountering.
Back to Kubuntu, knowing that GRUB2 is still installed as the bootloader, you can hold down the SHIFT key, and view the command line used to boot the kernel:
I played around with the command line and found that removing the “splash” parameter was the workaround to the issue. Once you’re able to boot into the system, you can make the change permanent by editing the GRUB defaults at /etc/default/grub and performing an update-grub.
Searching for the root cause of the issue, I learned that starting with Lucid, a transition was made from Usplash to Plymouth (adopted from Fedora) for the boot experience: easier theming of the splash screen, flicker-free transition from the splash screen to X. All summarized in http://wiki.ubuntu.com/FoundationsTeam/LucidBootExperience
I suppose the Plymouth packages could be uninstalled, but I’m left wondering why booting Ubuntu does not have this issue. Also, this is a virtual machine, so whatever graphics hardware I have is irrelevant (I think VirtualBox emulates a plain VESA/VGA display). I could switch over to Ubuntu, but I’ve grown familiar with KDE over the years. I preferred KDE over GNOME ages ago, though there seems to be more active development happening in GNOME and it has dramatically improved. I do keep a Debian stable release (lenny 5.0.5) installation around, and perhaps I could re-familiarize myself with GNOME using that.