August 27, 2009

Adding Fedora 12 (Constantine) Alpha to the Mini-Multi-Server

I got ambitious this morning, and wanted to add the new Fedora 12 Alpha distribution to the Dual Atom Multi-Boot Mini-Server.  Why go looking for trouble?  Take a look at the Release Notes, there is a LOT of really interesting, exciting stuff in there!

 I expected it to be tricky, for two reasons:

- As mentioned in a previous blog entry, when multi-booting openSolaris and Linux distributions, the openSolaris GRUB has to be used.  Once you get that set up and working, as I have, you then have to be careful when installing additions Linux distributions that you you don't let them overwrite the openSolaris GRUB.

- Fedora 11 (Leonidas), which was only recently released, had some problems with Anaconda, their installation program, installing from a LiveCD, with ext3/ext4 file systems.  I assume that they have fixed most of this, but I was still going to have to be careful about it.

So, I downloaded the LiveCD image, burned it to a CD-R, and booted it up on MMS (the MiniMultiServer).  It came up, looked good, and seemed to run just fine.  I then started the installation to hard disk, and that went smoothly until I got to the point where I suspected I might run into trouble, and I did.  The LiveCD will not allow installation to an ext3 filesystem, and I already know from experience that openSolaris and its version of GRUB don't support ext4 filesystems.  Ok, time to try to get creative.

I went ahead and installed to an ext4 filesystem, which worked just fine.  That's an improvement over the Leonidas release, because their GRUB previously didn't support booting from ext4.  Then, when it asked about installing GRUB, I told it to put it into the boot partition, rather than the MBR, so it wouldn't overwrite the openSolaris GRUB.  This paid off in another way later.

Once the installation was complete, I rebooted and as expected the openSolaris GRUB was still in control.  I brought up openSolaris, and added Fedora 12 to the GRUB menu.lst file in the usual way, with a configfile directive.  I didn't expect this to work... and it didn't.  When I rebooted, and selected Fedora 12, the openSolaris GRUB told me it couldn't find the file, obviously because it couldn't read the ext4 filesystem.

Now comes the creative bit.  In the process of getting Ubuntu 9.10 Alpha, with its GRUB 2, to multi-boot with various other Linux distributions that still use Legacy GRUB, I learned that GRUB 2 can be chainloaded from Legacy GRUB.  It seemed like a reasonable guess that Legacy GRUB itself could be chainloaded too, and the openSolaris GRUB still understands all of the standard GRUB syntax, so why not try that?  If it works, it will bring up the Fedora 12 GRUB, which obviously supports ext4 filesystems, and the world will once again be a wonderful place.  So, I changed the configfile directive to chainloader +1 and rebooted... and it worked!

So, I now have Fedora 12 (Constantine) running on the MMS, and I can tell you that it is well worth the effort.  As expected, there are lots and lots of interesting things in there.  I'm looking forward to working with it, learning about it and all the new stuff.  The way it looks right now, when the final release of Fedora 12 eventually comes out, it is going to be an even bigger step forward than Fedora 11 was!

jw 27/8/2009

Click Here!