id="info"

Hardware

Installing Ubuntu 8.04 on Virtual PC: It takes a village

TechRepublic Senior Editor and Linux novice, Selena Frye recounts her adventures installing Ubuntu 8.04 on Virtual PC. She compiled the wisdom of the open source "village," from which she learned the fixes for the Unrecoverable Process Error and the screen resolution bug.

I've played around with Linux a little on other's machines, but I've never installed it myself or really tried to use it on a day-to-day basis. So, ready to take the plunge, I decided to install it in a virtual environment so that I could easily switch between it and all of my Windows-based tools and applications that I use for my editing duties. Keep in mind that I'm an editor (translation: English major), not a tech person, and will claim only a reasonable amount of tech savviness as a user.

So the first thing I should have done, apparently, was use VirtualBox or VMware, but no, I chose to install it on Virtual PC, and I'm rather stubborn, which made everything that much more interesting. Since I had to google for workarounds and bug fixes, visit Ubuntu forums, and ask — at different times — advice from a number of kind people to get this up and running (hence, the village), I thought I would compile it all together in one place, if you are so foolish as to want to do this at home.

Creating the virtual machine on Virtual PC

After installing Virtual PC (easy), I downloaded the ISO image of Ubuntu 8.04. Clicking New on the VPC console, I used the wizard to Create A Virtual Machine, give the .vmc file a name and location, select Other from the drop-down menu of OSs to emulate, and then to make a choice on the screen for Memory.

You can either use the Recommended 128 MB or Adjust The RAM yourself. Here, I showed my ignorance and took the Recommended option. No, no, no. It needs to be at least 512MB, which is the difference between getting somewhere in the installation process and getting nowhere...very slowly. (Let's just pretend that I did that in the first place, and saved myself a bunch of wasted time waiting for something to "happen" later. My husband, who is a tech guru, clued me in on this after I called to bother him at work. He's a nice man.) I created a New Virtual Hard Disk file, selected the name and location for the vhd. file, and clicked Finish.

Installing Ubuntu 8.04 Hardy Heron

The Unrecoverable Process Error

Now on to the fun part. I clicked Start from the VPC console and then from the CD tab, selected Capture ISO Image, which was sitting on my desktop. This part is a little fuzzy, as I wasn't quite sure what I was supposed to be seeing right off the bat. It spun and spun and gave me the message to select the boot device, which I thought I'd already done, but eventually, after reselecting Capture ISO Image, I actually got to the screen to select a language. I accepted the English default, though I may as well have selected Finnish for all the good it did me. I then tried to Install Ubuntu from the initial Ubuntu screen, below in Figure A. I immediately encountered...Unrecoverable Process Error. Ooooh. That seemed bad. After applying insanity (repeating the same steps, expecting different results), I decided to go google the error and see what went wrong. What I found out quickly, was that this is a common stopper — and that there were workarounds. I found it first on the Arcane Code blog, which has step-by-step directions and screenshots for installing Ubuntu 8.04 on VPC. Clearly, these steps didn't work for everyone, most obviously the numerous posters encountering the error.

Ubuntu installation

Here's what you have to do:

  1. Before trying to install anything, press F4 Modes from the options at the bottom of the screen. Select Safe Graphics Mode.
  2. When you then press F6 Other Options, a command line for boot parameters pops up at the bottom of the screen. You have to edit this line.
  3. Several people reported that simply adding noapic nolapic vga=791right at the very end of the line (after the two dashes —) solved the boot problem. Of course, this didn't work for me, so...
  4. Poster SteveZ sailed into the discussion to save the day with a slight variation of the above, which seemed to work for everyone: again, at the end of the command line that pops up from pressing F6, delete the words quiet splash and replace with: vga=791 noreplace-paravirt
  5. Boot success! The kernel begins to load and you're in business. Arcane Code did caution that you should select the option Try Ubuntu Without Any Change To Your Computer instead of Install Ubuntu, as this will just cause you more VPC errors. Just do it.

Now, as confusing and annoying as that first error was for a newbie to handle — in a way, it wasn't that bad: I googled; I found fairly straightforward direction almost immediately; I applied the two workarounds in succession; and it worked! It probably took me longer to accomplish all of this (particularly when I had to start all over to correct the RAM miscue) than it would most people, but in my defense, I don't know "nothin' bout no command lines," and I was doing all this while actually working on other stuff, so it didn't have my undivided attention.

Installation and beyond

I was so happy to see that Ubuntu color scheme and an actual desktop! Ah, the stately Heron. I went through the Ubuntu Install Wizard by clicking on the Install icon — all easy, nothing to dwell on there. The installation took me about 35 minutes. You have to be rather patient. The screen will completely blank out a few times, but if you click into it, you'll see your install progress bar moving ever so methodically. Don't be too alarmed. What you might find alarming, though, is the size of your screen resolution which might be about 800x600, or something similarly annoying, but more on this later. The other alarming thing is trying to control your mouse, which gets "captured" by the virtual environment. Click your right-side [Alt] button to "release" it. Only the right one will work.

After installation is complete, the first order of business, is to make the boot edits permanent so that you'll have clean boots going forward. Again, gathered from the "village" at Arcane Code, do this:

  1. Click Action from the left top of the screen and select Reset to reboot. If it hangs up at this point, just close the session and restart it from the console by clicking Start. I don't think it matters if you Save State or not. Just close it.
  2. When you see grub, quickly hit [Esc] to interrupt the boot process and drop to a command line.
  3. You'll see three entries. The first line selected says: Ubuntu 8.04, kernel 2.6.24-16-generic. Keep this selection and press [e].
  4. Next, select the second entry on the page that reads kernel /boot/vmlinuz… and press [e] again.
  5. You'll see a command line that ends with xforcevesa. Edit the end of this line, so that it reads: quiet splash vga=791 noreplace-paravirt xforcvesa
  6. Press enter to finish the edit and then press [b] to boot.
  7. Once Ubuntu has loaded, go to Applications | Accessories | Terminal to open a terminal window. On the command line, type sudu nano /boot/grub/menu.lst
  8. Enter your password, page down to the bottom, and locate the kernel /boot/vmlinuz… line in the Ubuntu 8.04, kernel 2.6.24-16-generic section.
  9. Move the cursor to the end of the line after xforcevesa and add noreplace-paravirt
  10. Press [Ctrl] + [O] to write out, press enter to accept the name, and press [Ctrl] + [X] to close. Type exit to end the terminal session.
  11. Now you should be finished with messing with the boot parameters forever!

Networking and screen size resolution

At this point, I was feeling pretty good about the whole process. I'd had some hiccups but managed my first command line edits, and things generally worked. I found that when I tried to open Firefox, I didn't have a connection yet. This was fairly easy to solve. First, you go to the Edit menu, and click Settings. Click on Networking and make sure you've selected your Network Adapter from your physical computer in the Adapter 1 field, whatever that may be. Then from the top right of your desktop, click on the little networking icon (looks like computer monitors) and select the radio button for Wired Connection. Select this whether you're really unwired or wired; apparently, it will work. That's all I needed to do.

Now, I thought changing the screen resolution would be the easy part after all of the other stuff. Wrong-o! This was the part that spiked my blood pressure and made me want to scream, "Kelly Clarkson!" It's not as simple as going to System | Preferences | Screen Resolution and selecting from the drop-down menus. Forget that — you will have no options there.

I probably can't re-create the mess I made from here, trying different things, partial edits of xorg.conf, making the wrong selections on the seemingly randomly-appearing configuration GUI that would pop up after I tried to edit xorg.conf. Well, finally, I hosed everything, and not knowing how to recover the small (but readable) resolution that I started with, I ended up nuking the entire installation/virtual machine build and starting the whole damn thing over again. This was very demoralizing, but I figured it would actually take me less time than trying to fix what I had bungled with my half-assed methods.

Did I mention I was an English major?

So, the other difficulty, was that unlike the previous problems I ran into, which had quasi-logical (to me, anyway) fixes, when I searched the forums for this bug, everyone had a different solution, a different edit — and it was all dependent on what kind of video card you might have and a bunch of other variables. It was the village alright, but scarier— like the ones who are storming through the countryside with torches and pitchforks.

My husband tried to walk me through one edit having to do with resetting the DefaultDepth option from 24 to 16, which didn't seem to have any affect (he had not yet upgraded to 8.04); I asked Jack for some guidance, which he happily rendered, only I couldn't get any of his suggestions to work either. Here, I was hampered, no doubt, by my complete lack of background knowledge — I didn't understand what I was trying to accomplish with the commands he was suggesting, and I was probably not giving him all the info he needed to diagnose my problem.

When I had sunk sufficiently low, I decided to roll the dice again, and go back in to the daunting xorg.conf file and select one of the many editing suggestions out there, and just try it. So, I settled on a solution from our dear friends at Arcane Code — from poster pb (april 27). I decided that come hell or high water, I was just going to edit my file to look exactly like this one, so starting with the Device section, I meticulously typed in this replacement file, which is only part of pb's post, but I figured I didn't need to change the InputDevice sections, since that seemed beside the point. This is exactly what I entered after I opened a terminal with sudo nano /etc/X11/xorg.conf :

Section "Device"

Identifier "Generic Video Card"

Driver "vesa"

BusID "PCI:0:8:0?

EndSection

Section "Monitor"

Identifier "Generic Monitor"

Option "DPMS"

HorizSync 30-70

VertRefresh 50-160

EndSection

Section "Screen"

Identifier "Default Screen"

Device "Generic Video Card"

Monitor "Generic Monitor"

DefaultDepth 16

SubSection "Display"

Depth 16

Modes "1280×1024? "1024×768? "800×600?

EndSubSection

EndSection

Section "ServerLayout"

Identifier "Default Layout"

Screen "Default Screen"

InputDevice "Generic Keyboard"

InputDevice "Configured Mouse"

# Uncomment if you have a wacom tablet

# InputDevice "stylus" "SendCoreEvents"

# InputDevice "cursor" "SendCoreEvents"

# InputDevice "eraser" "SendCoreEvents"

EndSection

Very little of this existed prior to editing the existing file, so it was nerve-wracking, to say the least. (Especially when you haven't backed up anything, because when you tried — heaven knows why — you got a freaking error, cursed and gave up). After pressing [Ctrl] + [O] and [Ctrl] + [X] and exiting terminal, I rebooted. Lo and behold...it worked! I now have a 1280x1024 screen resolution (61 Hz). I don't know what all that stuff means, and at this point, I don't really care. Jack says I'm "climbing the nerd ladder." I have a feeling that it will be slow progress, indeed. Now that it's just a VPC away, though, I can start seeing what Ubuntu and other open source apps are all about.



		

About

Selena has been at TechRepublic since 2002. She is currently a Senior Editor with a background in technical writing, editing, and research. She edits Data Center, Linux and Open Source, Apple in the Enterprise, The Enterprise Cloud, Web Designer, and...

Editor's Picks