Ubuntu 'Gutsy' Server on VirtualBox

Thanks to peeyush for his post where he talks about VirtualBox, I could install Ubuntu desktop _and_ server (both 7.10) on the office machine. Now, since I work for an organisation, where installations-that-require-admin-privileges are not appreciated at all, this was a big feat! (Though, I have the admin privileges too. *wink*)

About VirtualBox:
VirtualBox provides a virtual environment to “install” a range of other OSs on your base OS. The base OS is referred to as HostOS. The “other OS” is called GuestOS.
The good thing about VirtualBox is that it does away the need to have a CD/DVD drive on your machine, by giving you an option to directly boot from cd-image files (.iso), which was very helpful in my case. (Yes, we don’t have CD-ROMs too!)
Secondly, switching between the real (host) and virtual (guest) OSs is just a touch of a button — which I liked a lot.
Apart from the above, there are a number of other features aimed at making the integration of guest, and host look seamless.

OK, after the VirtualBox installation, I faced some minor issues in installing the Ubuntu server. Apparently, the issue was because the non-availability of PAE module, in the simulated environment causes a crash when the machine reboots after the (server) installation process. This has been reported as a bug in VirtualBox, but seems like both VirtualBox and Ubuntu are pointing fingers are each other.
Some forums, however, suggested a solution, which worked for me, and which I present here, so that Linux newbies (like yours truly) don’t have to go through an ordeal.

The issue:
When the server boots from the hard-disk, the following fatal error is thrown:
"PANIC: CPU too old for this kernel"

Why?:
VirtualBox does not support PAE, which the Ubuntu server assumes to be present on the platform it’s being installed. When the installation is over, and the machine reboots, it in for a surprise…woah…no PAE?!!

The resolution:
1. Boot from the CD (or the mounted image), and choose the rescue mode and get a shell in the / (root). (Rescue mode gives you an option of getting an ‘installer shell’ or an ‘installed shell’. Choose the latter.)
2. Install linux-generic (instead of the default linux-server). This can be done by:

sudo apt-get install linux-generic

[Make sure you’re connected to the Internet (and proxies are configured), so that you get the latest packages.]

3. Remove linux-server:

sudo apt-get remove linux-server

4. Exit the root shell, and reboot the machine.

[Some people said that they had followed the same approach and had to fix the file corruption (sync) issues manually using fsck. I’m not sure, because I didn’t face any such issue.]

That’s about it! Oh, and there’s a there-just-one-more-thing:
5. If you find the boot menu irksome, you could edit:

/boot/grub/menu.lst

Hash-out the bad bad linux-server part.
[As a general advice (which would save me a number of curses too): Please backup each file prior to editing it!]

Links/References:
1. http://www.virtualbox.org/wiki/Downloads : Get VirtualBox
2. http://www.ubuntu.com/products/WhatIsUbuntu/serveredition : Get Ubuntu Server 7.10
3. https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/126863 : Bug description for Ubuntu
4. http://tombuntu.com/index.php/2007/09/05/making-ubuntu-server-work-in-virtualbox/ : A more straight-forward approach to the same issue. Which I saw after having written this post. πŸ™

2 thoughts on “Ubuntu 'Gutsy' Server on VirtualBox”

  1. Pretty informative stuff, buddy πŸ™‚

    BTW, did you try out xen or kvm? Xen worked okay while trying install RHEL guest on RHEL host however gave terrible headache trying install win2k3 guest over RHEL host.

    Secondly, what would be your rating in terms of robustness of Ubuntu Server. We are trying figure out reasonable options against RHEL 4/5.

    1. Thanks! πŸ™‚
      I’ve never tried any other software which does the same. But now that you’ve mentioned, I added few things in my to-do list. πŸ™‚
      Cannot comment on the robustness part, because we’ve not used it in any scenario where we could actually evaluate its real-time performance. Till date there’s a RHEL 4.0 installation which we’ve been using, but now I am pushing them for Ubuntu Server 7.10. Let’s see.

      Though I’m very new to these platforms, my two cents:
      * Ubuntu Server seems to be a decent option for a basic LAMP installation
      * since the platform is Debian, so you don’t really have to worry much about dependencies et al
      And of course, most importantly, it’s community-driven. πŸ™‚

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.