Monday Nov 10, 2008

Adventures in MacBook land...

... or getting Solaris running on a Macbook Pro. I do of course have an instance running in Sun xVM VirtualBox, but I like having a native environment to work in as well.

A lot of people have gone down this path before me, so I'll focus specifcally here on getting the ndis wrapper working for the onboard broadcom card, however before going there, a quick list of the places I found info at (and the odd credit as well).

First off I used rEFIt, suggested to me by Nicky as an alternative to Bootcamp, although I did use BootCamp to do the initial partioning of the disk up. Before installing you need to do a bit of fiddling around with EFI id's, the details of which I found from an entry by Paul Mitchell, How to Dual Partition a MacBook Pro with MacOS and Solaris.

After that it was a straight install from a dvd, then onto setting up the required networking. The ethernet nic is a Marvell Yukon, scanpci details area

pci bus 0x000c cardnum 0x00 function 0x00: vendor 0x11ab device 0x436a
 Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller

This is supported by Masayuki Murayama's myk driver (ported from FreeBSD's msk) from and can be downloaded from his driver page. Details are all in the readme. In my case I went with the i386_gcc compile as we need to boot in 32bit mode for the ndis wrapper we will get to in a moment.

Now the awkward part, getting the wireless. The wireless nic in this macbook is a Broadcom, details below

pci bus 0x000b cardnum 0x00 function 0x00: vendor 0x14e4 device 0x4328
 Broadcom Corporation BCM4328 802.11a/b/g/n

The folks over at the laptop community on have a detailed page on useing ndis. You need to pull down 1.2 ndis kit, and the relevant driver files (search for 14E4,4328). Now with the arrival of Fast Boot (PSARC/2008/382, flag day) in build 100 of Solaris Express we have a new driver entry point which has yet to be reflected in the ndis code, the fix is a simple change to the if_ndis.c (thanks to Michael Li for the correct quiesce option).

+++ if_ndis.c   Mon Nov 10 05:39:52 2008
@@ -159,7 +159,7 @@

 uint32_t identify;
 DDI_DEFINE_STREAM_OPS(ndis_dev_ops, nulldev, nulldev, ndis_attach, ndis_detach,
-    nodev, NULL, D_MP, NULL);
+    nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported);

 static struct modldrv ndis_modldrv = {
        &mod_driverops,         /\* Type of module.  This one is a driver \*/

Guidelines for the rest of the process are listed on on the ndis page mentioned above. Once you have built the modules and copied them in place add the ndis driver with

        add_drv -i '"pci14e4,4328"' bcmndis

Plumb up the interface and you should be ready to go. The trade off here is that you have to use a 32bit kernel, so make sure you've booted into one.

The final item to get working is a right click emulation, covered in detail in Pradhaps entry Solaris Nevada / OpenSolaris Mac book right-click. Anyway after all of that, unless you really want to have Solaris running natively on your macbook I'd suggest using Sun xVM VirtualBox, and OpenSolaris.

Tuesday Oct 21, 2008

live upgrade & 'mod_hold_stub: Couldn't load stub module fs/dcfs'

I'm running a few builds behind Solaris Express at the moment, but decided to catch up earlier today, anyway I forgot to update my liveupgrade packages and hit a panic, so for your perusal (and oddly my enjoyment, I don't exactly look at panics that often these days and you sometimes forget just how powerful tools like mdb are for post mortem analysis)......
> ::status
debugging crash dump vmcore.5 (32-bit) from tiresias
operating system: 5.11 snv_98 (i86pc)
panic message: mod_hold_stub: Couldn't load stub module fs/dcfs
dump content: kernel pages only
> ::cpuinfo
  0 fec1e278  1f    0    0  35   no    no t-0    d18dc400 Xorg
  1 fec21d98  1b    1    0   0   no    no t-0    e2f11c00 luupgrade
> ::pgrep luupgrade | ::walk thread | ::findstack
stack pointer for thread e2f11c00: de6c4b7c
  de6c4b90 cmn_err+0x5a()
  de6c4bb4 mod_hold_stub+0x161()
  de6c4bf0 stubs_common_code+9()
  de6c4c44 fop_lookup+0xac()
  de6c4dfc lookuppnvp+0x313()
  de6c4e44 lookuppnat+0xec()
  de6c4ec4 lookupnameat+0x8b()
  de6c4f14 cstatat_getvp+0x149()
  de6c4f60 cstatat64+0x6b()
  de6c4f84 stat64+0x1c()
  de6c4fac sys_sysenter+0x106()
which points to the missing module listed in the status causing the error. Anyway a bit of digging around pointed to 6674815. The work around (and what you should always do anyway) is to update the live upgrade packages to the version of Solaris your upgrading to, from the bug workaround
# cd /So\*/To\*/Installers
# ./liveupgrade20 -nodisplalay -noconsole
After all of that, I'm happily upgrading and looking forward to playing around with the integrated version of powertop among other cute nv_100 toys. Speaking of power, you do know about the Sun Intelligent Power Monitoring Service don't you?

Tuesday Sep 09, 2008

SAAJ ClassCast Error with JDK 6

A project I'm working on at the moment has an authentication component which uses a webservice to do most of the work. During the development I stumbled across an issue, which while appearing to be known, is not well documented in any place, so in case anyone else hits this ....

Software Environment

The key part here is the JDK version, from what I can discern after doing some searching all 1.6 JDK's have this issue, for the example here I'm using the 1.6.0_06 JDK (services & support), as bundled with Solaris Nevada (snv_97) (services & support), either Tomcat 6 or Glassfish 3 for the app server, and Netbeans 6.5 as the IDE. Our webservice in this case was generated using wscompile as bundled with Appserver 9.1 (services & support).


The stacktrace that we are getting here (from Tomcat in this case, but the appserver is not important here) is
org.apache.jasper.JasperException: java.lang.ClassCastException: 
 com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl cannot 
 be cast to com.sun.xml.messaging.saaj.soap.MessageImpl

root cause

java.lang.ClassCastException: com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl 
 cannot be cast to com.sun.xml.messaging.saaj.soap.MessageImpl
Whats actually going on here (and if anyone has corrections please feel free to provide them, this is not an area I've spent time reading into) is that the saaj classes that you would have used before from the webservices development packs are now present in the 1.6 jdks rt.jar, and we have a conflict between what is expected by the webservice and what we have.


A couple of workarounds exist, namely things I really don't like as the vary from environment to environment e.g. placing endorsed libs in place. A more generic workaround is to add an extra startup option of
which eliminates the problem, but may have implications for other aspects of your application, so use with caution.

Wednesday Sep 03, 2008

Amazons EBS

Werner Vogels (Amazon's CTO) has a nice post about Amazons Elastic Block Store. Well worth a read. Combined with the recently launched OpenSolaris AMI Catalogs this could be really interesting.

And into the mix you can add our developer and support services for OpenSolaris and MySQL - what more could you ask for if EC2 is in your plans.

Monday Aug 11, 2008

VDBench Release....

Just back from some quite enjoyable vacation time, and I noticed that Henk has released VDBench to the general public.

In my previous role with the Perf folks here in Dublin I used vdbench very extensively. We found (and the guys still find) more than a few bugs with it, and I can't praise it highly enough as a benchmark. In a world where some benchmarks are completely unrealistic and others are just plain pointless (yep dd is a benchmark tool, honest guv) vdbench allows you to stimulate realistic workloads quickly and easily. If you benchmark disks at all you should be aware of vdbench.

Technorati Tag(s) : ,

Tuesday Jul 29, 2008

Cool Cuil & Privacy

Have you seen Cuil yet? Its a new search engine founded by some ex Google folks among others. The area that has really grabbed my attention is their privacy policy, my favourite part being

when you search with Cuil, we do not collect any personally identifiable information, period. We have no idea who sends queries: not by name, not by IP address, and not by cookies (more on this later). Your search history is your business, not ours.

Music to my ears, and Cuil is now my default search engine on the privacy basis alone. The Irish connection does of course help :).

Monday Jul 28, 2008

Solaris Nevada 94 on Acer Aspire 5610

I've been a bit lax on my Nevada upgrades for my laptop recently, but I got a chance today to bring myself back up to date with snv_94. If your going to install this on an Acer Aspire 5610 you will run into a panic on boot due to some recent ACPI changes.

Straight off on boot you will get a panic similar to below, you will however need to boot in kmdb mode to see this properly (just add -k to your grub options).

ddi_create_minor_common+0x51(0, f97a5538, 2000, 400, f97a5720, 0)
ddi_create_minor_node+0x25(0, f97a5538 , 2000, 400, f97a5720, 0)

The work around is to add -B disable-acpi_drv=true to your grub options, my snv_94 grub entry reads

title snv_94
root (hd0,2,a)
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B disable-acpi_drv=true -B acpi-user-options=8
module$ /platform/i86pc/$ISADIR/boot_archive

There is a fix in place for snv_95, and the relevant bugs are

  • 6726425 - Dell XPS M1330 panic in 32 bit kernel.
  • 6727562 - acpi_drv: snv_94 panics on 3 different laptops.

Technorati Tag(s) : ,

Wednesday Jul 02, 2008

The LinkedIn Cloud

An interesting blog which passed over my desk recently on Linked In's architecture. Well worth a read. Solaris, Java & MySQL - seems like the perfect software stack to me ;).

Tuesday Jun 17, 2008

Blogging bosses...

My new boss, Amy O'Connor, (well my bosses boss) got a mention over on the On The Record blog last week, but for a slightly less formal introduction, and a lot more background, take a look at her blog.

Amys first post in her role as VP of Services Marketing is highlighting our OpenSolaris Essentials and OpenSolaris Production Subscriptions. Changing my hat from an OpenSolaris user (and yes still a core contributor to the test community) to a member of the Services marketing team, these subscriptions offer you an unprecedented level of support with an open source OS, so go forth and deploy with confidence. Oh our multiple acronyms get a mention as well, although they are not quite up there with Tom Waits and PEHDTSCKJMBA.

Now we just have to get the direct boss blogging :).

Tuesday May 20, 2008


Nice brief article over on - A look at MySQL on ZFS.

Wednesday May 07, 2008

uperf - opensource network benchmark

I noted that the availability of uPerf, has just been announced over on perf-discuss. I had the opportunity to play with uperf a little bit in my previous role, its an extremely powerful and useful network benchmarking tool. If you need to measure networking performance with "real world" type workloads (and lets face it thats what you need to be doing) uPerf is well worth checking out.

Thursday Apr 10, 2008

xVM and the art of beer maintenance

We all know global warming is occurring, and from individual's to corporations we can all make a contribution to containing, and eventually reversing climate change, and save a bit of cash along the way as well. Seems like a win, win deal to me. But now the urgency has grown, a colleague of mine forwarded on an article about the price of beer. The price of beer I hear you ask? From the AP release

Jim Salinger, a climate scientist at New Zealand's National Institute of Water and Atmospheric Research, said climate change likely will cause a decline in the production of malting barley in parts of New Zealand and Australia. Malting barley is a key ingredient of beer.

"It will mean either there will be pubs without beer or the cost of beer will go up," Mr. Salinger told the Institute of Brewing and Distilling convention.

Now considering the fact, to borrow a quote the folks over on Goats, that

Beer is the salvation of all mans souls

this is a matter of some urgency for all of us in the technology industry to address. Luckily for us the most complete suite of technologies, services and solutions to address these problems is available from Sun.

Virtualization & Consolidation

There is virtualization from the management layer with Sun xVM Ops Center, to our hypervisor level offering xVM, based on the work of the openxVM community, to logical domains with LDoms on our award winning CoolThreads servers, to software level virtualization with Solaris Zones and desktop level virtualization with Sun xVM VirtualBox.

Using xVM and our range of x64 and Sun Blade Systems you can consolidate your existing Solaris, Windows and Linux environments into one environment. Personally I still have a soft spot for the Sun Fire x4600 M2, but given the choice I would go for the Sun Blade 6000 with Sun Blade x6220 Server Modules for x64 and x86 consolidation.

Why the Sun Blade 6000? Very simple, because I can use the same blade chassis with LDoms and the Sun Blade T6320 Server Module to consolidate my existing Sparc applications. Of course if you don't feel that xVM is the right choice for your Windows or Linux consolidation all of our x64 servers are VMWare certified, and you can get your support and services directly from Sun.

Sometimes however its not possible to migrate your ISV application to the latest version of Solaris, we are all aware of the application that was certified on with database X, jvm y and os z that no one wants to get recertified due to the costs, but you know that the old machine thats there is just not efficient any more, users would like better performance that can only come from a hardware upgrade, but the new hardware doesn't support the old OS - fear not as Solaris 8 Containers, building on the excellent work of the Zones and BrandZ communities over at OpenSolaris allows you to safely consolidate applications certified for Solaris 8 and Solaris 9 applications using Solaris 10 Containers, using any of our servers, from the most energy efficent servers on the market, Suns CoolThreads servers, to our high end offerings.

If your not sure if this is for you or uncertain if you want to undertake a migration, why not get one of our newly launched Sun Sparc Enterprise T5140 Servers on our Try & Buy program, contact our Professional Services group about our Enterprise Migration service, and see how much you could save on power, maintenance and support. Your boss will thank you for saving your business money and more importantly you will be helping to protect the global beer supply, which we all know is the real issue here :).

Wednesday Jan 23, 2008

HTML 5 Draft Spec

Just noted that w3 sent out a press release about HTML 5 yesterday. The draft spec is well worth a look if you are in any way interested in the direction of HTML 5.

Friday Jan 18, 2008

17th Irish OpenSolaris Users Group Meeting

Tim have been busy planning the next IE-OSUG meeting
Topic           News from December/January, Lightning talks
		& generally being social!

Date            Thursday January 31st
Time            7:00pm onwards
Location        DIT, Kevin Street, room KE: 1-008
	        (unless I hear otherwise from the nice folks at DIT)

This month, we don't actually have a main speaker organised, so we're
just going to wing it.

Along with presenting the OpenSolaris news which we didn't get to talk
about in December[1], we'll also cover January's news items, which are
already starting to mount up!

In addition, we could use the extra time to host some ad-hoc Lightning
Talks[2] - these worked pretty well the last time we did these, and we
think the casual atmosphere was a good one:
If you've slides in advance that you want to send on, drop Tim a mail,
or feel free to just bring them along on the night.

We'll update this month's web page at:

with any Lightning Talk topics we get in advance -- all volunteers

As always, we'll be recording the talk and adding it to our
podcast feed as well as posting the slides here, in case you can't make
it to the meeting.

Note this month, we're holding the meeting on a Thursday this month -
we've had a few people say that Tuesdays don't suit, so perhaps it would
be better switching the day the meetings on each month to better
accommodate people ?

Many thanks to the nice folks at DIT for hosting our meeting, please let
me know if the change of date doesn't suit?

A link to this announcement is:
there's a PDF poster on the page you can use to further publicise the

Friday Jan 11, 2008

[ music ] A bit of trad

[ cross post from the other side, but its for a good cause ]

... or a blatant plug. A cousin of mine Niamh Ni Charra is playing a showcase gig during the upcoming Temple Bar Trad festival in Dublin.

You can hear some of Niamh's tunes over on myspace. And yes, you can make this, and then go on to Explosions In The Sky, all in one night ;).



« June 2016