Wednesday, December 22, 2010

Natty Narwhal 11.04 Alpha 1 with WUBI

So the adventurous often want to try out development releases of Ubuntu and what better way to test than with Wubi - in theory. In practice though, Wubi isn't the main focus and usually only gets considered closer to the release.

But curiosity killed the cat... so here goes:

1. Windows install
I use zsync to keep a current copy of the daily live image of the Natty desktop-i386.iso. Since the .iso change so frequently it saves time and ensures you always have an up to date copy. I extract the wubi.exe from it and copy both the .iso and wubi.exe to the same folder in Windows. Then run wubi.exe.
The Windows install GUI looks good - it's identical to previous releases except it shows 11.04 - and when finished, asks to reboot.

2. Ubiquity install
  • Bad WUBILDR
So the first problem is the wubildr is bad. When you select Ubuntu from the Windows Boot Manager it hangs at Try (hd0,0) Wubildr. Replacing this with a wubildr from a Maverick install works fine and gets you to the second phase of the installation. (Note, in my case I had to replace wubildr on my first partition - a hidden rescue partition - not just the wubildr on my Windows partition. I did this via Ubuntu as it's not visible from Windows.
  • Grub error during installation
After fixing the wubildr, the Ubiquity installer proceeds as normal with the slideshow. Until a popup appears entitled
Bootloader install failed.
Sorry, an error occurred and it was not possible to install the bootloader at the specified location. How would you like to proceed?
  • Choose a different device to install the booloader on (empty drop down box)
  • Continue without a bootloader (PICK THIS ONE)
  • Cancel the installation
You'll be warned "You will need to manually install a bootloader in order to start Ubuntu" 
3. Booting the installed Natty
After installation, the first attempt to boot Natty drops you at a grub prompt.
GNU GRUB version 1.98+20100804-5ubuntu2.
I attempt to boot the install:
grub> configfile (hd0,msdos2)/ubuntu/winboot/wubildr.cfg
error: no such device: /ubuntu/install/boot/grub/grub.cfg
error: no such device: /grub.cfg
It is not possible to boot from the Ubuntu image.
Please verify blah blah blah and run chkdsk /r
So it turns out - after some investigation - that there is no /boot/grub/grub.cfg - when I skipped installing the bootloader it failed to create it. OK, no prob, just do a manual boot:
insmod ntfs
set root=(hd0,msdos2)
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /vmlinuz root=/dev/sda2 loop=/ubuntu/disks/root.disk ro
initrd /initrd.img
boot

Voila...
I then chose the classic desktop, as my last experience with the new Unity desktop didn't go so well:
Apart from a bunch of Error popup windows for panel objects that failed to load everything looks good.

First experience...
It looks pretty much the same as Maverick, but I notice there's now a "Root terminal" in Accessories. Love it! This is where I found the actual problem with the booting: there is no grub.cfg. I guess the grub error in ubiquity caused that part to be skipped. There's a grub.cfg.new so I just renamed that.

I decided to try out the new Unity desktop again, but it didn't work - I'm testing on my old junk PC with an ATI radeon 9000 card!

So now it's time to reboot and I discover that the Maverick wubildr is not compatible with the new Grub - every time I select Ubuntu the computer reboots. Back to the manual boot (I have another Ubuntu install so I can get to a grub prompt).

Rebuild wubildr...
Clearly Grub has changed radically - surprise surprise. It now refers to the drive as /dev/sda instead of hd0. So, that's probably why it's rebooting. Let's try regenerating the wubildr file. Oops logged in to the Unity desktop by accident... PS to logout I had to create a launcher on the desktop with command: /usr/bin/gnome-session-save --kill as I couldn't access any menus.
Then, to rebuild wubildr from root terminal: grub-install /dev/sda2 (don't try this on non wubi installs, also don't try it on wubi installs that aren't on the same partition as Windows's C: drive).

SUCCESS!
GNU GRUB 1.98
Ubuntu, Linux 2.6.37-10-generic
...

And it boots! Happy testing everybody*

(*And by everybody, I mean, those that consider their computers to be test machines - this is an early alpha release so you need to be prepared for disaster).

PS my windows is on /dev/sda2 - all places that refer to (hd0,2) or (hd0,msdos2) and /dev/sda2 are based on that.

No comments:

Post a Comment