Category Archives: Solaris

“Fork Yeah! The Rise & Development of illumos”

Great presentation here from Bryan Cantrill (formerly of Sun, currently at Joyent) about the story behind illumos. Some great comments on the (destructive) role management and marketing can play in innovation, related comments about how badly Oracle don’t get this (and never will really), and a few fascinating tidbits about the history of Solaris at Sun to boot.

Updated: the video itself is now available:


Oracle announces DTrace for Linux, DTrace creators denounce it as “low quality” and “a joke”

Much interest and (sadly) amusement to be had over Oracle’s announcement of what they claim to be a port of the Solaris DTrace dynamic tracing technology to Oracle Enterprise Linux:

In short, this provoked some classic reactions from two thirds of the team that created DTrace to begin with, first from Adam Leventhal:

An excerpt:

“While I’d like to give this obviously nascent port the benefit of the doubt, its current state is frankly embarrassing. It’s very clear now why Oracle wasn’t demonstrating this at OpenWorld last week: it doesn’t stand up to the mildest level of scrutiny…announcing a product of this low quality and value calls into question Oracle’s credibility as a technology provider.”

And as Bryan Cantrill succinctly puts via Twitter – “Oracle’s “port” is a joke”:!/bcantrill/statuses/123532974447788032

More relevant commentary to be found here:

I expect there will be much more to be said about this in the coming months…

EDIT: sure enough, from who I believe to be another former Sun software engineer:

OpenIndiana 151a is out – and powered by Illumos

In case you haven’t already heard, OpenIndiana development release 151a is out. The critical change in this release is that it’s now based on the Illumos kernel, developed by star ex-Sun Microsystems talent in the wake of Oracle’s compeltely styleless killing off of OpenSolaris. Substantial new features which you won’t be seeing in Solaris 11 anytime soon such as KVM support are built-in and tightly integrated. And yes, KVM support for AMD CPUs is on the way – hopefully in time for the 8-core AMD Bulldozer architecture desktop CPUs…

There are also a nice set of desktop software additions, some of which OpenIndiana and OpenSolaris before it has been needing for ages, for example a capable suite of multimedia playback applications. OpenIndiana now has dedicated SFE repositories from which VLC and Mplayer can be installed, as well as bonus goodies such as Scribus and more.

OpenIndiana download links, release notes, and SFE repository details:

After running 151a for a few days (the upgrade from release 148 was completely seamless by the way), I was presented with something I hadn’t seen for a long time, not since OpenSolaris development was closed off a couple years back…

OpenIndiana update manager

Yet another scathing appraisal of how Oracle is handling Solaris…

…by those who know it best, in this case Eric Schrock:

“It is with a sad heart, however, that I look at the work so many put into making OpenSolaris what it was, only to see it turned into the next HP-UX – a commercially relevant but ultimately technologically uninteresting operating system. This is not to denigrate the work of those at Oracle working on Solaris 11, but I personally believe that a truly innovative OS requires an engaged developer base interacting with the source code, and unique technologies that are adopted across multiple platforms. With no one inside or outside of Oracle believing the unofficial pinky swear to release source code at some abstract future date, many may wonder what will happen to the bevy of cutting edge technologies that made up OpenSolaris.

“…suffice to say that OpenSolaris is alive and well outside the walls of Oracle, so give it a spin and get involved!”


Oracle Acquired Innovation: How It Works

Resolving HP4050n US Letter PPD print defaults on OpenIndiana

For printing on my home office network, I still use the native Solaris printmgr application, not really having the need to go with CUPS – as my printing needs are very basic. One major annoyance I have found however was the insistence of the system to always print pages formatted for US Letter, despite application defaults seemingly set to A4. Needless to say, this results in craptastic-looking output.

Turns out that a manual edit of the PPD supplying the print defaults for my HP LaserJet 4050n did the trick.

At /etc/lp/ppd/hp4050n.ppd, I simply changed this entry:

*% ===================================
*%           Paper Sizes
*% ===================================
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter

To this:

*% ===================================
*%           Paper Sizes
*% ===================================
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: A4

Et voila, printed pages looking as they should do.

On Oracle killing OpenSolaris

There are two posts I’d like to draw your attention to as a way to comment on this, both from other people.


First, from Erik Trimble, posting at the OpenSolaris forums, putting it better than I ever could and reproduced here:


“… With the various Linux projects, Oracle was pretty much *required* to share back, so they played nicely. With Solaris, the mindset seems to be that “We own this, so let’s make fat bank on a cool technology, and not let others steal our business”.

The unfortunate thing here is that most of the value in an Operating System is attributable to ADOPTION RATES. That is, the wider the OS is used, the more revenue potential there is. Now, the per-instance revenue potential tends to drop off, but the overall revenue ramps up very noticeably.

(note, this post, “OS” = Operating System, not OpenSolaris)

I think someone really, really, really needs to explain to upper management these things:

(1) Having an open source base / development process is pretty much a no-lose situation, with only an up side. The likelihood that other OSes will be able to take advantage of your technology is quite low (either due to incompatible license, or high barrier to port the code), and, at best, such other OSes will lag significantly in uptake. For instance, ZFS is about the only major technology from OpenSolaris that I can name which has any reasonable adoption in other OSes. The FreeBSD port of ZFS is *at* *least* 6 months behind that of OpenSolaris. The Upside of a open development model is that you can get outside contributions (if you actually want them, and design the development model appropriately), outside testing, and a radically higher adoption rate than a closed model.

(2) As a corollary to #1, yes, you might have some competitors use your source base to build their own produce (cf. Nexenta). *However*, those competitors actually *help* you, in that they will:

(a) most likely contribute work back to the open development base that you (Oracle) would not have done

(b) increase the userbase of the OS itself (even if only in appliances, this increases familiarity with the OS, increasing the sales recognition, so selling other products based on this OS is simpler)

(c) provide new and innovative products, which enables Oracle to “test the waters” in various market niches without committing any Oracle resources (i.e. let someone else do your market testing for you)

(d) be small companies which aren’t a serious threat to any Oracle revenue, relative to their benefit

(e) they are a very big potential source of revenue themselves, if you want to sell something like a “premium developer-access support” contract.

(3) Giving away for free BOTH Solaris and OpenSolaris distros doesn’t hurt the bottom line. Period. No lost revenue at all. It *absolutely* will drive additional revenue to you, particularly from ISVs and app developers, who will use your product to create their own, and drive more revenue back to Oracle, in the form of more server and support contract sales.

(4) As a corollary to #3, making a cheap support option consisting of security updates & Knowledge Base access only is FREE MONEY. It costs you virtually nothing (ok, perhaps pennies per contract), and gives you not only increased userbase (with the attendant better ISV/appdev attention), but also a reporting base to monitor for problems (i.e. free QA), and significant incentive for businesses to use the OS vs other options.

(5) High-cost (and high per-copy profit) niche closed OSes are a good way to die. OS/400, anyone? For that matter, going the route that Oracle has mapped out for Solaris is a quick way to turn Solaris into AIX or HP-UX. That is, anyone see either AIX or HP-UX gaining new installed base (or getting new apps written for them) these days? Solaris isn’t *that* much superior to either of them (technologically) to forestall a long slow decline into oblivion if Oracle decides to radically contract the userbase. Which is what closing it up, and requiring expensive support contracts for any use will do.

(6) The current model almost certainly guaranties that Solaris will be abandoned by the Academic community. Once again, I bring up OS/400, AIX, and HP-UX. Without an introduction to “serious” OSes – which the academic community by far is the leading provider of – you lose the next generation of sysadmins, app developers, and tech managers. If they don’t know your product, how are they going to use it (or be inclined to purchase them?). It’s already happening. There are very few new Solaris SysAdmins under 30. You *have* to make your OS product known to (and usable by) academia if you want any hope of future
sales. And, academia is requiring Open Source products these days (for a lot of reasons).

(7) Solaris is not a PRODUCT, it is a PLATFORM. Products you sell. Platforms you sell things to run *on*.

Frankly, at this point, I’d be all for Oracle spinning out the Solaris group as a fully-owned subsidiary, responsible for paying its own way. You’d see Solaris make lots of interesting product/marketing decisions and far more cash than I think Oracle is going to make with what they’re doing now…”


And secondly, this post from Garret D’Amore, which I urge you to read:


What is Illumos? (and more on Bryan Cantrill)

I’m listening in on the conference call, and this sounds exactly what the OpenSolaris community needs.

It’s a potential fork – and a very exciting one at that; the project aims to be a fully open derivative of the Solaris/OpenSolaris code base, and has the involvement of some illustrious and recently ex-Sun/Oracle people – including Bryan Cantrill. Garret D’Amore (formerly Sun/Oracle, now of Nexenta) is the project lead.

By fully open, they mean all the proprietary code parts of Solaris/OpenSolaris have been replaced with open source code, with no corporate dependencies. In terms of the relationship with Oracle Solaris/OpenSolaris, they see it not as a competitor, but as an independent project which Oracle may if they wish choose to collborate on. Critically, the Illumos team believe that if code were to stagnate or stop flowing upstream from Oracle, they have enough “critical mass” in terms of developer resources and community involvement that they could continue to sustain the project. In their own words, it “can’t be “shut down” or subverted by any corporate master”. This news, coupled with the involvement of ex-Sun staff just warms my heart.

Hardware support? x86/AMD64, VMware/VirtualBox, with SPARC to follow soon (yay!).

I’d be hugely interested to eventually see an Illumos distro (again, given the involvement of ex-Sun talent), and if they were to provide professional support in line with pre-Oracle-takeover Solaris or OpenSolaris arrangements then this would be a very attractive alternative to the present situation.

Bryan Cantrill has posted some of his thoughts on OpenSolaris and forking over at

Set up SSH host-based authentication between OpenSolaris and Solaris 10

Setting this up was way more hassle than it should have been thanks to some pretty ambiguous documentation.

I am using an OpenSolaris snv_134 x64 client to connect to a Solaris 10 u8 x64 server without the use of a password. Before starting, make sure that you have identical user accounts on both the server and client, and that hostname lookups are functioning normally. Also note that if you cock this up you run the risk of locking yourself out of SSH logins to the system.

(Official docs are at:


1) On the client, add the following to /etc/ssh/ssh_config:

HostBasedAuthentication yes


2) On the server, add the following to /etc/ssh/sshd_config:

HostBasedAuthentication yes


3) On the server, create the file /etc/ssh/shosts.equiv (if it does not exist) and add the hostname(s) of the authorised client(s). If you are using DNS, then use the DNS host name of the client, for example:

afterburner, or,


4) Set IgnoreRhosts to no in the server’s /etc/ssh/sshd_config file


5) Set PasswordAuthentication to no in the server’s /etc/ssh/sshd_config file


6) Set PAMAuthenticationViaKBDInt to no in the server’s /etc/ssh/sshd_config file


7) On the server, create the file /etc/ssh/ssh_known_hosts (if it does not exist)


8) Copy the host RSA public key from the client (on OpenSolaris snv_134 x64 this is /etc/ssh/ into the /etc/ssh/ssh_known_hosts file on the server


9) Edit the host RSA public key entry in /etc/ssh/ssh_known_hosts such that the first field in the file is the host name of the connecting client. If you are using DNS, then use the DNS host name of the client, for example:

afterburner, or,

ssh_known_hosts file


10) On the server, restart the ssh service:

# svcadm -v restart ssh


Done. Now test:

$ ssh ledstorm
Last login: Wed May 26 21:41:30 2010 from afterburner
Sun Microsystems Inc. SunOS 5.10 Generic January 2005

Format a USB flash drive with FAT32 on OpenSolaris x64

Obtain the disk device pathname:

$ rmformat
Looking for devices...
     1. Logical Node: /dev/rdsk/c13t0d0p0
        Physical Node: /pci@0,0/pci1028,214@1d,7/storage@3/disk@0,0
        Connected Device: OTi      Flash Disk       2.00
        Device Type: Removable
	Bus: USB
	Size: 247.0 MB


Using fdisk, create a FAT32 partition occupying 100 percent of the disk space:

$ pfexec fdisk /dev/rdsk/c13t0d0p0


Create a PCFS filesystem on the partition (in this case labelling it “daves”):

$ pfexec mkfs -F pcfs -o fat=32,b=daves /dev/rdsk/c13t0d0p0:c
Construct a new FAT file system on /dev/rdsk/c13t0d0p0:c: (y/n)? y


If necessary, mount the device manually (in this case to a mount point named “USB”):

$ pfexec mount -F pcfs /dev/dsk/c13t0d0p0:1 /export/home/dave/USB/

Note that PCFS performance under Solaris is pretty slow. For the UFS version of this how-to, see here.