The user experience
Solaris 10 and Open Solaris (which you build and install on Solaris Express) are both very nice, Linux-like operating systems. The Gnome-based Java Desktop System (JDS) is included, and it's very pretty and nicely laid out. It's important to use Xorg rather than SunX, so that all of the features will be available (run kdmconfig to switch between X servers). Linux users will have no trouble configuring X, and there is a nice feature accessible from the right mouse button that lets you change the desktop resolution on the fly. The overall look and feel is excellent - very polished. The fonts are absolutely gorgeous, and nicely integrated into every package I've played with to date.
Installation and setup are a bit of a trial, however. In fact, with Solaris 10 (although not with Solaris Express), there was too little memory on our system to run the installer. After Googling on the issue, we learned that some BIOSes don't make enough base memory available. We were using a system with an Intel motherboard, and after some research on the Intel Web site, we discovered that a 2001 revision to the BIOS on our board had altered memory allocation, sacrificing just enough base memory in the name of improved performance to stuff up the installer. So we had to flash our BIOS with an earlier version. Whether we should be more irritated with Sun or Intel was soon clear, when Intel's so-called "OS independent" flash image turned out to be a crummy DOS executable that creates a flash image on a floppy disk. Since all that we have available here at the Vulture Central DC Bureau are *nix boxen, this required us to create a DOS boot disk with a RAM-disk driver and set up a RAM drive, to which we copied, and from which we executed, Intel's so-called "OS independent" BIOS flasher. So minor shame on Sun for making the installer so large, and major shame on Intel for its "OS independent" software, which really offers only a choice of Microsoft OSes to work with.
The installer detected our graphics card, an Nvidia GeForce ti-500, without difficulty. Of course, there would be no excuse for failing to detect such a popular card, so this is hardly remarkable. But that was about it. Pretty much everything else had to be configured manually.
Setting up a NIC can be a chore, but it's the most important item of business initially, because a live internet connection is crucial to getting your Solaris box in order. Fortunately, Solaris is popular, and there's no shortage of Web sites, including Sun's own, with reams of useful information addressing just about every difficulty you're likely to encounter. The native help system is a real tease - it merely describes the things you'll be hoping to learn about - so you will be reading a lot of material on line.
Our experience with a Linksys TX-100 NIC was not encouraging. Admittedly, this isn't the most popular NIC in use, but it's hardly exotic. The system had no clue that it was installed. The recommended driver at Masayuki Murayama's Web site built funny, and never would attach. Fortunately, we had better luck with Garrett D'Amore's drivers.
There are a number of configuration files in /etc that you will have to edit, and even create, to get your NIC to work, once you've got it installed and recognized. If you're comfortable with ifconfig, you'll want to use it. Personally, I find ifconfig to be clunky, and prefer to do the setup manually. It takes me less time. Here's what you need to do:
1. Find the name of your network interface by running ifconfig -a..
2. Create a file, /etc/hostname.NICname and put in it one word: the name of your host..
3. Add the host's IP address, the NICname, and host name to the /etc/hosts file. It should already exist, as Solaris ought to have set up a loopback (localhost) device, but if not, create it..
4. Create a file, /etc/defaultrouter, and put in it the LAN-side IP address of your router or default gateway..
5. Create or edit the file /etc/netmasks and enter your host's IP address and netmask. If you have only a few hosts on your LAN, it really is easier to use fixed IP addys. If you have a multitude, you'll need to use your router as a DHCP server instead (and in that case you're on your own)..
6. Create or edit the file /etc/resolv.conf and enter your preferred DNS servers in the form, nameserver xxx.xxx.xxx.xxx..
7. Edit the file /etc/nsswitch.conf and change the line that reads hosts: files to hosts: files dns. If you miss this one, you won't be able to use DNS..
8. Re-boot, and confirm that your internet connection comes up automatically. If it doesn't, try the command ifconfig NICname up. If that fails, boot your trusty Linux box and start Googling.
Before starting your installation, I would recommend creating a little NIC survival kit on a floppy, with the drivers from Garrett D'Amore's and Masayuki Murayama's Web sites, and a copy of this document, which explains the various config files in /etc, and provides examples. (Note the second example of nsswitch.conf, with the correct setting for DNS.)