Recently (about 10 days back) I had installed
OpenSolaris 2008.05 on my laptop on bare-metal, finally, after having used it since it´s launch in
VBox. I had to install it because of the talk at
IGIT, had to show some compiz UI goodnes on the projector ;)
Anyway, long story short, the problem was that I already had SXDE on my laptop. A very old install I definitely did not want to loose for anything. I had duly taken backups before installing 08.05. Then, I met with a peculiar problem: the OpenSolaris 2008.05 installer detected the partition where previous SXDE installation was present as a "Solaris" partition, not allowing me to install Solaris onto any other partition.
Well the workaround suggested by Anil is quite simple. Hiding the SXDE partition from the OpenSolaris installer by changing it's partition ID. I edited the partition ID using
Acronis Disk Editor from
OBFh to something else (
OFFh - just a randomly chosen unknown ID), installed OpenSolaris 2008.05 on it and changed back the sxde partition's ID to
OBFh after installation. It went through like a breeze. So now I had both SXDE and OpenSolaris 2008.05 happily and peacefully installed on my laptop.
Now, on some inspection I found out my grub partitions were as follows:
Old SXDE Grub (hd0, 2)
New OpenSolaris 2008.05 Grub (hd0, 3)
The (new) active partition is the one which has OpenSolaris 2008.05. I added an entry to it:
root (hd0,2)
chainloader +1Apparently it worked. It took me to the old grub (which is located on old sxde partition). But when i booted my old SXDE this way, it
rebooted after showing the copyright notice (those initial 3 lines that show up on booting any "SunOS") ! It boots up fine when I set the old
partition as active and boot from it the regular way. I guess it didn't work because of the chainloading, or maybe because SXDE needs the partition to be active to boot. I shot a mail to
BOSUG immediately asking for help. I asked if there were any way to get the old sxde into the new grub menu as a normal boot entry without having to set it to active to boot everytime (which would be a pain).
Till now I was chainloading one solaris GRUB from another. Meanwhile when I waiting for a reply from
BOSUG, I tinkered a bit further and directly added the other solaris boot entries to one's GRUB. I added the following boot entry to the new grub:
root (hd0,2,a)
kernel$ /platform/i86pc/kernel/$ISADIR/unix
module$ /platform/i86pc/$ISADIR/boot_archiveWhen I booted this entry, it just seemed to load something from hard disk, then froze and rebooted instantly. I tried the other way around too (adding the OpenSolaris 2008.05 boot entry to the SXDE grub), but encountered the same problem. It just rebooted instantly. I got a reply from
BOSUG stating that there seems to be some issue loading opensolaris partition from the Solaris GRUB. And there sure was. I was finally suggested to chainload both solaris partitions' GRUBs using a linux based GRUB.
Heck, why would I do that. I just gave up my SXDE and moved on to OpenSolaris 2008.05 completely without looking back even once.
Update: As suggested by
thaniwa,
all that is needed to be done other than the above is to run the
"makeactive" command before "chainloader +1" for making the target
partition "active", required by Solaris when booting the kernel.
you forgot to run "makeactive" command before "chainloader +1"..
Solaris partition, you want to boot, requires that target partition status is "active" when boot kernel.
If you want to know detail, please see my blogs.
Posted by thaniwa on June 02, 2008 at 05:31 AM IST #