Monday, February 9, 2009

OpenSolaris 2008.11 - What is right, and what needs work

A friend of mine was trying to compile a simple C program on his university shell account. It turns out that the server hosting his shell account runs some version of Solaris. Not being experienced with anything Sun, I was not as helpful as I would like to have been with his questions about invoking the compiler. Since I had often thought that I would like to give OpenSolaris a whirl, now seemed like a good time to try. This is a short account of my experience doing just that, triple booting Linux, FreeBSD, and OpenSolaris.

First of all, to boot OpenSolaris after installation, it is not just a matter of editing your grub.conf with an entry for OpenSolaris. The version of grub supplied with OpenSolaris is special, and needs to be installed in order to boot into that OS. This works ok, and you can either add your other entries to it, or you can do like I did and leave the original grub on /dev/hda, and then use an entry like this to get to either the FreeBSD bootloader or the OpenSolaris grub on /dev/hdb:


# For booting GNU/Linux
title GNU/Linux 2.6.27-gentoo-r8
root (hd0,0)
kernel /boot/kernel-2.6.27-gentoo-r8 root=/dev/hda3 \
video=uvesafb:1280x1024-24,mtrr:3,ywrap \

#For booting FreeBSD
title FreeBSD
root (hd1,0)
savedefault
makeactive
chainloader +1

#For booting OpenSolaris
title OpenSolaris
root (hd1,1)
savedefault
makeactive
chainloader +1

The installation went very well. I popped in the livecd, and once the desktop came up, clicked on the icon there to install the OS. It made me fill in some info, like username/password stuff, as well as timezone etc., and partitions. Then it did the install. After that, all I had to do was reboot.

The boot into the full install was impressive. The screen resolution just worked, although nvidia twinview was not working immediately. All that was needed for that was to open a shell and enter 'pfexec nvidia-config' and then use the sweet utility to change the settings. You can read more about that here.

There were a few issues with drivers. I run an old Asus A8V-Deluxe motherboard, which is well supported under Linux and FreeBSD, but apparently not as well with OpenSolaris.
  • First off, it did not automatically do something intelligent with the Marvell 88E8001 Ethernet Controller. That was not too much trouble though, as I was able to boot back into Linux, download a driver, and then boot back into Solaris and install it. It worked well then, and the network automagically worked too.
  • The second problem was with the Sata Raid controller - no driver for that either. Not a problem for me, as I still am running a pair of ATA disks; for those of you with Sata, this could be trouble though.
  • The final problems were sound-card related. The Creative Sound Blaster X-Fi Extreme did not surprise me - it is hardly supported under Linux. But my old C-Media card was not picked up either. Oh well - Windows 7 had some trouble with that one too.

Over all, my impression of the install was favourable. I think that a lot of work has gone into the installer and sysconfig utilities, to make the experience a pleasant one, and it shows. Kudos to the people who are working on that end of OpenSolaris. I am also fairly impressed with the package management system which has a nice graphical user interface. Nice and easy to use, and from my experience, takes care of all the dependencies. It is on par with modern Linux distributions, if nothing else.

Now for the parts that I didn't like so much..

The first point is a minor one; though I was impressed with the initial boot, this had to do more with the fact that things worked, and not so much to do with the presentation. What I mean is that upon booting to the grub menu, the user is given two choices, either a regular boot (which happens to be a graphical frame-buffer deal with a 'sort of' progress bar. Basically it just keeps moving so you get the idea that something is going on, I guess.) or a text boot from the console. I selected this (text-boot) once, just to see how it looked and, as a Gentoo user, I can say that I was totally disappointed. There was hardly any information there at all. So if you are into a descriptive (and possibly interactive) boot process, forget about it with OpenSolaris.

The other thing I did not like was the fact that the default desktop is Gnome. Linus doesn't like Gnome, [1] and neither do I. And here is the kicker, KDE is not really offered. Sure, you can get an old version (i.e., 3.4x), or you can go for the super new 4.2x stuff, but no (easy) option for getting 3.5.9 on there. In my mind, this is a huge mistake. I have never really been able to get into Gnome, because it seems so hard to customise. All this said, I gather that it is not easy to get the KDE 3.x stuff running on OpenSolaris, and that the 4.x series promises to be good when it is ready. Until then, I guess I will stick with my Linux, FreeBSD and KDE.

[1]. Although he has been using it lately, and even developed a patch for it at some point, which the developers rejected.
Yes, you read that right; they rejected it. !!?? Hey guys,
Linus sent you a patch! Put it in!

3 comments:

  1. Ahmm sorry but linus switched back to GNOME..

    http://www.newstin.com/rel/us/en-010-010059772

    ReplyDelete
  2. > Ahmm sorry but linus switched back to GNOME..

    Yes, I noted that in the footnote at the bottom, with the red [1]. It was not that hard to see, was it?

    ReplyDelete
  3. You can add a -v flag to the kernel if you want lots of text on your console during boot. Personally i think it's a good idea only to show errors or warnings during boot as default, but it's a matter of opinion. If you can get anything useful out of all these messages you are probably also able to figure out the verbose flag ;)

    ReplyDelete