Wednesday, September 05, 2007

Solaris 10: Locked and Loaded... Finally

I needed to get an instance of Solaris running at the house to get a little extra research time. The job is running 9, but Sun has opened 10 for "free" private use. What ensued was several weeks of agony and tragedy. Here's what it took to get Open Solaris 10 running under x86.

Download: Solaris 10 is distributed on 5 images. Unfortunately, the images are packaged in two formats, the first of which requires a Solaris system with CD burner. Seeing as I did not have a Solaris system available, I had to use the second option, which is 5 Windows executables. Turns out these were self extracting archives that each contained a single ISO image. What? Why didn't they just post the ISO and let me use whatever OS I wanted to burn the CD?

Installation: I dusted off a PIII 550, stuffed 396M of memory, and started the CD install. Luckily, it failed within sixty seconds. "Error 28: Selected item can not fit into memory". The problem stems from Solaris 10 needing 256M of memory. Uhhh... Isn't 396 more than 256? Guess not. I moved the install CD to two other systems both with 1G. Both moved past the error. Okay. I can get a new mobo with a gig of RAM for under $200.

New Hardware: Ordered parts from New Egg and installed in a spare case. Foxconn mobo, AMD-64X2 4200, 1G DDR2 800, integrated ATI Xpress 1250 video, and 1G Realtek ethernet for $184.96. Start the install, get past the error, install crashed. Let’s try again using text mode. Much better, except for one small detail... In text mode, you can only install the base system. The other CD's are then installed from the functioning base system. Guess that’s okay. Besides, now that we’re past the error, we need to grab the 64-bit ISO’s, so we’ll just consider this install a dry run.

Download, part 2: Back to the Sun website, follow the links for x86 64-bit, download the first Windows EXE. Oddly, it seems to have the same name as the 32-bit download; even the file sizes are the same. Let’s go back and examine the installed system. Hey! It’s booting a 64-bit kernel! Obviously, the ISO contains both the 32 and 64 bit kernels, and the OS recognizes which needs to be loaded. That is an innovation over Linux, though I question the value of loaded a 64 kernel and running 32-bit application stack.

Additional CD’s: The system is now booting to a console login. As I expected, the 1G Realtek card is not recognized. Luckily, I had the foresight to install a 100M Intel ethernet card. Inserted disk 2, mount, execute the install command, instant failure. Seems disk 2’s installer is a GUI utility, and we don’t have a window system. (As a matter of fact, I didn’t really care about a windowing system.) Certainly, there was a way to force the install utility to text, but it was easier to restart the install.

Installation, part 2: Selected text install, attempted to manually configure the X window system. Several attempts proved that there was not a compatible driver for the ATI board. There is a driver for an ATI Mach64 board, circa 2002. No go. Tried a Cirrus Logic 5434, circa 1998. Yeah, figures that one worked. After all it’s a decade behind current technology… just like Solaris. Graphical installer launched, just as it should, installed without any problems.

Operation: After the successful install, I logged in to switch the system from GUI to Console mode (runlevel 5 to runlevel 3). Normally this would be a straight forward exercise if it weren’t for Sun’s decision to deprecate the /etc/inittab and /etc/rc?.d scripts. How was this a good idea? Found a few hundred references to others that had to learn this lesson the hard way. Since there is not inittab to provide virtual consoles, you have to get the system to a Desktop Session, login, and issue the command:
bash-3.00# svcs –a | grep cde
online ... svc:/network/rpc/cde-calendar-manager:default
online ... svc:/application/cde-printinfo:default
online ... svc:/application/graphical-login/cde-login:default
online ... svc:/network/rpc/cde-ttdbserver:tcp
online ... svc:/network/cde-spc:default
bash-3.00# svcadm disable cde-login

Issued a power down, pulled the Cirrus Logic, and booted to a console session.

Finally! System is now running.

Time to dual boot this puppy to Linux.

No comments:

Post a Comment