Archive for March, 2008
In my last post I had installed SXCE Build 84 on my Sun Ultra 24 workstation in the hopes that I could get xVM working – however build 84 still contained the 3.0.4 Xen codebase.
It wasn’t all smooth sailing however as I had some issues doing the initial install. When using my normal settings in the GUI/wizard install of OpenSolaris the installation would fail early on. The error logs weren’t exactly helpful, however it did mention the inability to create my user account. I restarted the install a few times and changed various answers during the wizard process and eventually the install completed successfully. I’m not exactly which change fixed the installer however I believe that in the last attempt in the screen where you select the properties of your user account I made sure that my Username (not loginname) contained no spaces and for my Locale I didn’t choose my normal selection (of English(Australian)) but rather used the default of English(US).
Something I did notice was that when running the xVM kernel I could not properly install the 64bit version of VirtualBox as usual – it would install but it couldn’t load the kernel module and whilst the VirtualBox client software would start up you couldn’t run the VM (no kernel module running). I’d be interested if anyone knows if and how you can run the xVM kernel AND VirtualBox at the same time.
As a starting point for those of you interested in taking a look at xVM I found the following links to be handy introductions:
The Sun System Administration Guide: Virtualization Using the Solaris Operating System – especially part IV which has the chapters on xVM (the PDF version is also available).
A Comprehensive Overview of Sun xVM outlines Sun VM, including products, installation instructions, and using Windows XP on Sun xVM. The article defines Sun xVM as a family of technologies that addresses both desktop and server virtualization, leveraging work from open source communities like Xen that is being built on proven Sun technology.
The blogger explains his choice of Sun xVM over VMware and Linux+Xen and he also discusses the two types of virtual machine: Hardware Virtual Machine and Para Virtual Machine. He also outlines the starting of domainU configuration and its cloning, noting that one can clone domU in as little as one minute. He shows as well how to set up cifs server if one is running Windows domU and the use of virt-manager as a GUI interface to manage Sun xVM.
As a continuation of my journey to OpenSolaris on my new Sun Ultra 24 Workstation I’m posting another update on my experience so far.
Previously I mentioned I had installed OpenSolaris SXDE (79b) however I was unable to get xVM to work. I thought I would give the newer Community Edition (SXCE) (build 84) a try and see if there was more joy there.
The various OpenSolaris builds can be downloaded from here. Burning the ISO to a DVD and then booting the DVD and installing SXCE is very simple (especially using the new graphical installer).
Unfortunately it looks like build 84 includes the same (version 3.0.4) version of the Xen kernel as the SXDE build I was using before and does not include the newer 3.1 Xen code. As such xVM still won’t boot on my Ultra 24.
Previously (during the previous OpenSolaris b79b install) I had setup a three disk raidz zfs pool (for /data) on the machine:
# zpool create data raidz c0d1 c1d1 c2d0
# zpool list
# zpool status
After reinstalling the OS this time I simply re-imported the existing ZFS pool and all my data (including my home directory which I put into /data) is back:
# zpool import -f data
I also wanted to share the volume via NFS read only by default to my home LAN segment but read/write to my MacBook Pro. Zfs’s set options now make this extremely easy (rather than screwing around with /etc/dfs/dfstab and the share command or even the newer sharemgr command)
# zfs set firstname.lastname@example.org/24,rw=MBP_IP' data
In Kernel SMB (Samba)
I also decided to give the new in Kernel CIFS (Samba) Service a try.
Start the CIFS Service:
# svcadm enable -r smb/server
Edit /etc/pam.conf and add:
other password required pam_smb_passwd.so.1 nowarn
After the PAM module is installed, the passwd command automatically generates CIFS-suitable passwords:
# passwd rodney
Enable SMB sharing for an existing ZFS file system:
# zfs set sharesmb=on data
and we are done – how easy is that. For more information check out Getting Started with the Solaris CIFS Service.
I noticed that the machine has a number of potential boot menu options which appear on startup (you can press F2/F8/F12 to go into Setup/Select the boot device, after that times out you are presented with the option of pressing Ctrl-S to setup the Intel Boot Agent and after that times out you can press Ctrl-P to do something else and finally you get the Grub menu). I thought that I would reduce the BIOS boot time by disabling the PXE Boot (Intel Boot Agent) since I don’t ever want to network boot this machine anyway. If you are thinking of doing the same thing – DONT!!!
After disabling the PXE boot the various operating systems I’ve got installed on this box (OpenSolaris and Windows 2003) could not enumerate or activate the onboard e1000 NIC. That was it – networking game over man!
Some google searching turned up a few results indicating others who had the same problem with their Ultra 24’s and the basic jist was they couldn’t fix the problem (even via Sun support) and they had to RMA their machines.
The following is what I did which appears to have fixed this:
Download, burn and boot the latest (ver 1.1) Sun Ultra 24 Workstation Tools and Drivers DVD:
and in the boot menu choose to Flash the BIOS (I had previously already updated my BIOS when I first got the machine a few days ago anyway) – it goes and flashes the BIOS anyway and on reboot the PXE menu is back at the default (2 second menu) and the NIC is once again working – lucky…
I ordered a new Sun Ultra 24 Workstation (Intel Core 2 Quad Extreme QX6850 3GHz, 6GB RAM, 250 & 750GB HDs) a few weeks ago and it has now arrived. I planned to run Solaris Express Developer Edition (08/01 – Build 79b) on this machine and then run a number of guest operating systems under either or both of xVM and VirtualBox.
Solaris Express is where the development of the next version of Solaris (11) happens. OpenSolaris has three main streams:
- Solaris Express Developer Edition (SXDE) – is Sun’s tested release built from the OpenSolaris bits and additional technology that has not been published in the OpenSolaris source base. It is released every three to four months and replaces the Solaris Express monthly release.
- Solaris Express Community Edition (SXCE) – is Sun’s binary release for OpenSolaris developers (code named “Nevada”). It is built from the latest OpenSolaris source and additional technology that has not been published in the OpenSolaris source base. This release is unsupported. It is updated every other Friday.
- OpenSolaris Developer Preview – is the first milestone of Project Indiana. It is a single CD combined live/install image: a core operating system, kernel, system libraries, a desktop environment and a package management system.
Indiana is to Solaris what Fedora is to Red Hat. It is a frequently updated distribution that will become the next version of Solaris every three years. The new Image Packaging System (IPS) will debut in Indiana replacing the old System V packaging system.
OpenSolaris SXDE (79b)
The various OpenSolaris builds can be downloaded from here. Burning the ISO to a DVD and then booting the DVD and installing SXDE is very simple (especially using the new graphical installer).
Erwann Chénedé has thankfully packaged up an easy install bundle for compiz fusion 0.6 + emerald 0.5.2 which is available for download from here. All you need to do is run the shell archive to complete the installation.
I was originally planning on using xVM on this machine however I couldn’t get the machine to boot into the xVM mode at the GRUB bootloader – it would start and then hang every time I tried. After some serious google research I noticed a number of threads detailing issues with xVM causing serious issues with the Ultra 24 hardware (basically killing the gigabit NIC interface at the BIOS level such that the interface was no longer even available to the machine when running in non xVM mode). I’ve decide to let this one rest till this is resolved and patches/etc are forthcoming.
You can download the relevant VirtualBox archive from here – the only thing you need to be careful of is installing either the 32bit version (the x86 download) or the 64bit version (the AMD64 version) depending on what version of OS you’re running. On my Ultra 24 I’m running 64bit SXDE so I installed the AMD64 version (even though it is an Intel box 🙂 ). The output of “isainfo -k” will tell you which instruction set is being used on your machine.
Installation is as painless as a pkgadd of the package and then running “VirtualBox” at the command line.
VirtualBox installs (from the very sleek 21MB download) like any normal Mac OS X application on my MacBook Pro running OS X 10.5.2 (Leopard) and the application is extremely easy to use (much like VMware and Parallels).
When creating my New Virtual Machine I tinkered with the default settings (giving myself 1024MB of RAM (up from the default of 128MB), a 12GB expanding disk (up from 8GB) and upgrading the video memory from 8MB to 64MB for the virtual machine).
Started up the virtual machine with the OpenSolaris Developer Preview Live CD and shortly OpenSolaris is running. You can then double click the “Install OpenSolaris” icon and follow the wizard and in 15 minutes you’re installed and up and running.
Well almost! – there are a few things which don’t work as well as you would like including:
- Xorg comes up by default in 16bit with a resolution of 1024×768 – see below for more on this
- Networking doesn’t work at all – see below for the fix
- USB support isn’t working yet for Solaris guests
- Audio is not working yet for Solaris guests
- The Shared folders functionality is not working yet for Solaris guests
Some Google searching and I’ve discovered that Alan Burlison had already looked at this, so I grabbed his xorg.conf file. To get the Indiana screen resolution up to 1280×1024 – for me on OS X all I needed to do was put the tweaked xorg.conf into /etc/X11 and restart the X server (log out and back in). I’ve also tried further tinkering with this to get resolutions like 1152×864 (which does work); 1440×900 and 1680×1050 working but with little success so far – if anyone knows how to get these (later two) working with OpenSolaris under VirtualBox (on OS X or OpenSolaris) I’d be happy to hear about it.
The network devices used by the Virtualbox need the pcnet device driver (pcn on Solaris). Unfortunately, this is a closed source driver, so it’s not supplied with OSDP – Alan details using the drivers from an SXDE iso image. Masayuki Murayama however has supplied a huge list of Free NIC drivers for Solaris – one of which is the ae driver for AMD am79c97x PCNET ethernet chipset series. Unfortunately you’d have to build this from source (which you could do) – but made easier even still – Moinak Ghosh has precompiled and packaged all of Masayuki San’s drivers. You can either run the included installer script or just install the required package with:
# pkgadd -d . SFEnicdrv-ae
To make all these files accessible to your VM, they need to be made into an ISO image that you can mount in the VM, using Devices -> Mount CD/DVD-ROM -> CD/DVD-ROM Image… To make this a little easier I’ve prebuilt an ISO of the drivers and xorg.conf files which you can download from here.
One very cool thing with this new Indiana Developer Preview of OpenSolaris is that by default the root filesystem is using ZFS – as you can see from the output of zfs list in the screenshot below.
I attended the Sun Tech Days Australia event here in Sydney this week along with the Community Events day on the last day. I primarily attended the Solaris and OpenSolaris tracks and found some good nuggets of information there.
Some of the most interesting information I heard were from the Virtualization Technologies sessions. I was already aware of technologies like Domains, LDOMs and Zones/Containers and had planned to take a serious look at the Hypervisor style technologies like Sun xVM/OpenSolaris xVM (based on Xen) which are now built into the latest OpenSolaris SXDE and SXCE builds.
I use and am quite familiar with the common Type 2 Hypervisor (HVM) style products like VMware and Parallels. I’ve used both predominantly on my MacBook pro, however I was previously unaware of the VirtualBox product which Sun only very recently acquired from Innotek. These guys have apparently been around for some time however it is only since the Sun acquisition that word has really started to spread. There are two really compelling features of VirtualBox which make it very interesting:
- Whilst it also has Windows and (many) Linux versions like some other competing products, and even a Mac OS X version like some others – VirtualBox also works on OpenSolaris!
- VirtualBox is Open Source (GPL2) and FREE!
I plan to blog soon about my experience with running the new OpenSolaris Developer Preview 2 (Indiana) using VirtualBox on my MacBook Pro and later on I plan to try out both VirtualBox and xVM on a new Sun Ultra 24 running OpenSolaris (Solaris Express Developer Edition Build 79b) with various guests (Windows, OpenSolaris, Linux and perhaps even OS X).