Solaris
10 x86 on VMware
Peter Baer Galvin
The history of the x86 releases of Solaris is long and sordid,
full of mystery, promise, heartache, and resignation. However, with
Solaris 10, Sun is promising full, renewed support of the x86 platform,
including Intel and AMD chip support. Even though we are still a
few months from the official release of Solaris 10, I wanted to
test this new Sun resolve and determine whether Solaris 10 x86 is
a usable, feature-rich, first-class citizen. This month's Solaris
Companion discusses installing and testing S10 x86 within the VMware
environment. In a subsequent column, I'll describe an install
to native hardware.
Overview
To increase the difficulty of the challenge (and because I wanted
to have Solaris 10 with me at all times!), I decided to use my laptop
as the test system. The system is a Dell Latitude D600 replete with
a 60-GB hard drive, CDRW/DVD-R drive, and 512MB of memory. The system
is running Windows XP. It has a modern ATI Mobility Radeon 9000
chipset with 32MBs of graphics memory. This system is not on the
current Solaris x86 hardware compatibility list (available at http://www.sun.com/bigadmin/hcl/).
In the past, graphics devices have been a big challenge for Solaris
10, so I expected to spend a lot of time trying to get a Solaris
GUI running in this environment.
VMware is a commercial program (http://www.vmware.com)
that provides virtual machines on a host. These machines can each
be installed with a guest operating system. For example, a Linux
system with VMware installed could run Windows XP as a guest. This
guest runs in an emulator that provides a full virtual system (including
bios, memory, disk, and network devices). The guest can be installed,
booted, stopped, started, suspended, resumed, snap shot-ed, and
so on.
VMware provides an interface to the host's networking, so
a generic network driver within the guest can access the network
through the host. Likewise, it provides a "vmware" graphics
device that translates all calls to the actual hardware graphics
card. In theory, this should be an easier environment to run on
than on a native system. For example, even though Solaris currently
doesn't support wireless network devices, it can take advantage
of the host's wireless networking as a guest.
VMware Installation
Installation of VMware 4.5 workstation was as simple as performing
a download and running the executable. A "new machine"
wizard creates a new virtual machine within VMware. The choices
within the wizard are predictable for the most part:
- Virtual machine configuration -- Typical
- Guest operating system -- Sun Solaris, with the version
set to Solaris 10 (experimental). (Solaris support by VMware is
in beta test at the time of this writing.)
- Virtual machine name "S10B58"
- Network Type -- Use NAT
- Disk Capacity -- 10GB
After executing this wizard, the virtual machine was ready to
start. It had, by default, 256MB of memory.
Solaris x86 Installation
The next step was to download the Solaris 10 x86 build 58 CD ISO
images via the Sun express for Solaris program at Sun (see the April
2004 Solaris Companion: http://www.samag.com/documents/s=9102/sam0404h/0404h.htm).
In previous builds, there was an installation disk and two "software"
disks. With Build 58, there are now three software disks and no
longer a separate installation CD. Sun has been working on the installation
method and no longer needs to separate out the GUI and command-line
installs. Writing the ISO images to CD took about 20 minutes. Placing
the first disk in the CD drive and clicking on "Start this
VM" brought up, in the VMware environment, an emulated system
boot from the CD.
To use a VM within VMware once one is started is just a matter
of clicking the mouse within the VM window. Now the keyboard and
mouse are owned by the VM. Simply holding the CTRL and ALT keys
simultaneously sends control back to the host operating system.
The CTRL-ALT-ENTER combination makes the VM use the full screen
and look like the guest OS is the host OS. This is what I did throughout
the install and testing.
I received a bus enumeration warning, but it seemed non-fatal
so I continued. I selected my language choice. Then the Solaris
device identification program found all of the hardware but did
not recognize the graphics card. Pressing F2 to continue brought
on the boot-from screen, where I selected "CD". To tempt
fate, I selected option #1 of the installation choices -- "Solaris
interactive". The other options are "jumpstart" and
"Solaris interactive -- text only installer". I presumed
that the GUI install would not run properly, and I was not pleasantly
surprised, as we shall see.
I selected option #1 for a Solaris interactive installation. The
"kdmconfig" tool then ran automatically to configure the
GUI devices. I first selected the ATI RADEON (32-64MB) video device.
Because there was no monitor type available that matched my LCD
with 1400 x 1050 resolution, I tried the Multifrequency 76kHz option
for up to 1600x1200 display resolution. This is really all guesswork
unless your configuration is exactly matched by the provided choices.
The next choices were a 14" screen and 1280x1024 resolution
with 16-million colors at 70Hz refresh rate.
When I chose to continue and test, the test said it tried to find
an ATI or RADEON device and failed. Unfortunately, kdmconfig exited
and next came the network configuration screen. I reset the VM and
started the installation again, making various graphics choices
to see whether any would work. Unfortunately, none did. I decided
to restart with a text-based install by rebooting the virtual machine
and using the same procedure as above but selecting the F4 option
("bypass") on the install choices screen.
(Sun is revising the X server options of Solaris 10, and thus
more supported graphics devices should appear in Solaris 10 as it
nears first customer shipment.)
The remainder of the standard installation went normally. I chose
DHCP networking, no Kerberos, no name service, my time zone, and
so on. For the disk fdisk choices, the disk has no partitions, so
it needs to be partitioned. This file system is actually a file
within Windows XP. I chose the "use entire disk for Solaris
and boot partitions (10239MB)" option. For partitions, I chose
just root and swap, and put most of the free space into "/"
to allow for upgrades and tool installations. Two disk swaps and
about 30 minutes later, my virtual machine was running Solaris 10
in text mode, as shown in Figure 1.
A Graphic Fight
Then it was on to the main event -- trying to get an X server
running in the virtual machine. Fortunately, I had a lot of help
in my corner. Between Internet resources, some experimentation,
and some newfound friends who had already won this fight, the victory
was mine!
The first step was to remove the current X server, as it conflicts
with the XFree86 server that provides a VMware graphics option:
# pkgrm SUNWxf86
There is a Solaris XFree86 video driver and porting kit binary already
built with recent graphics drivers, including VMware. It's available
for download from http://www.tools.de/solaris/xf86/. Following
the instructions there, I downloaded the binary package xf86_4_4*.bz2.
Because the easiest way to get files into the virtual machine at this
stage is via CDROM, I also downloaded the Solaris 10 documentation
from http://docs.sun.com and added a few other files I knew
I would need, such as StarOffice and wrote them to CDROM.
After a volcheck to mount the CDROM and after copying the files
to /usr/tmp, these commands unpacked the package and installed it:
# bunzip2 xf86-4.4.0*.bz2
# pkgadd -d xf86-4.4 SUNWxf86u SUNWxf86r
The last step was to run kdmconfig manually and use the new X server.
Kdmconfig now allowed the choice of the "XF86-VMWARE" video
device. Again I chose the "multifrequency 76kHz" monitor,
14" screen, and 1280x1024 with 16-million colors. This time,
the test screen appears showing that the X server is functional. A
reboot of the virtual machines brought a GUI login, and choosing "Gnome
2.0" as my GUI brought the screen shown in Figure 2.
Some Last Steps
With this basic functionality, it was all fun and games. Networking
was already up and running, and Mozilla was available in /usr/sfw/bin,
but /usr/sfw was not fully populated. A download of the Solaris
9 Companion Software CD from http://wwws.sun.com/software/solaris/freeware
quickly gave me a complete tool set (between /usr/sfw/bin and /opt/sfw/bin).
Overall, performance and usability is quite good. However, one of
my favorite programs -- prtdiag -- isn't available
on the x86 architecture.
If I wanted to try some other video resolutions within VMware,
information and configuration files available at http://www.bolthole.com/solaris/vesa1400x1050.html,
would help me get the job done.
Conclusions
Solaris 10 x86 is indeed very real and very functional. With VMware,
it performs well and brings all of the new features that Sun has
been proudly promoting. Although getting graphics working takes
a bit of work in the VMware environment, the work is well rewarded
by the functional end result.
Acknowledgements and Resources
Special thanks to Dan Price from Sun, Juergen Keil, and Scott
Omar Burch for advice and guidance on getting the graphics challenges
resolved.
For up-to-date information on Solaris x86, see:
http://www.solaris-x86.org/
http://sun.drydog.com
http://multiboot.solaris-x86.org/
http://www.bolthole.com/solaris/x86-laptops.html
http://www.sun.com/bigadmin/collections/solarisx86.html
http://www.tools.de/solaris/
http://homepage2.nifty.com/mrym3/taiyodo/eng/
http://groups.yahoo.com/group/solarisx86/
http://forum.sun.com/forum.jsp?forum=11
news://alt.solaris.x86
http://wwws.sun.com/software/solaris/x86/
http://members.at.infoseek.co.jp/chitchat/vmware/soltips.html
A great new resource to Sun users is now available. There is no longer
a gag order on Sun employees, and they are saying some very interesting
things at httpd:\\blogs.sun.com.
Peter Baer Galvin (http://www.petergalvin.info) is the
Chief Technologist for Corporate Technologies (www.cptech.com),
a premier systems integrator and VAR. Before that, Peter was the
systems manager for Brown University's Computer Science Department.
He has written articles for Byte and other magazines, and
previously wrote Pete's Wicked World, the security column,
and Pete's Super Systems, the systems management column for
Unix Insider (http://www.unixinsider.com). Peter is
coauthor of the Operating Systems Concepts and Applied
Operating Systems Concepts textbooks. As a consultant and trainer,
Peter has taught tutorials and given talks on security and systems
administration worldwide. |