Register Discussions Communities Projects Download Source Browser

May 09, 2008

OpenSolaris in VirtualBox

I've been playing around today with VirtualBox, after finding that the latest version claims to run on Solaris 10.

Which is true, but you need to jump through a few hoops first.

First, you need to make sure that libGL.so can be found. I guess this varies a bit depending on whether you're using mesa or have the nividia drivers, but I ended up setting LD_LIBRARY_PATH_64 to /usr/X11/lib/amd64.

Then you need libXinerama; if you're running an older version of Solaris (my test machine was running S10U3 == 11/06) then applying patch 125726-02 will do the trick.

Then if you're running 64-bit you'll need a copy of libdlpi. I just snarfed a copy off one of my test opensolaris boxes (actually indiana preview 2 - I have seen comments that the one from the official OpenSolaris release won't work as it's too new).

(Yes, I realize there might be a bit of a chicken and egg situation there!)

Then I tried booting the indiana preview 1. Which worked just great. No network, but I expected that. The only glitch I had was the key to escape from the guest - which is set to Right Ctrl by default, which I discovered I don't have. I reset that to some other key that I do have and don't use for anything else.

Having learnt from that, I had a go at the OpenSolaris 2008.05 release having found a CD that I had brought back from CommunityOne, and that worked fine (and picked up the network).

Conferences Over the Summer

I had submitted two abstracts in April to two conferences over the summer. The good news is both of them have been accepted!
o OpenSolaris Developer Conference, June 25-27, 2008 Prague, Czech Republic.
o GUADEC 2008, July 7-12, 2008, Istanbul, Turkey.

The schedule for both conferences have now been published OSDEVCON 2008 schedule and GUADEC 2008 schedule.

The OSDEVCON is also about Printing Tools, it is primarily concentrated on Presto on OpenSolaris Desktop. While I have been looking forwards going to Prague (never been there before) to talk about Presto and also meet face to face with many of the OpenSolaris developers. Despite all the good reasons to go, I could not make it due to unforeseen family circumstances. So to this end, Michal Pryc has kindly agreed to present the paper on my behalf. Thanks Migi!

The GUADEC session is a BOF on Printing Tools, so in order to make it to work well, I need input/involvement of the communities. So I really look forwards to see everyone who is interested in printing or your applications have printing elements in them to be there! I plan to provide you an update on the GSOC project that I am mentoring on Integrated Printer Management. So Rui, pressure is ON! :)

links for 2008-05-09

updated rtorrent & libtorrent packages for Solaris

was helping out a friend and updated my rtorrent/libtorrent packages for Solaris. as before, there are three packages, SFWsigc++, SFWtorrent, and SFWrtorrent.

these install, per the companion CD convention, to /opt/sfw

enjoy..

Basic Tasks On OpenSolaris 2008.05 For Many A Sun Employee

At Sun there are tools which we've distributed with Solaris internally through NIS auto mount maps and other things which all depended on NIS. Now with the new OpenSolaris installer a number of us are finding we've forgotten how to get NIS setup on a machine and have never setup Real Media RealPlayer, Adobe Flash, or even OpenOffice.

Setting up NIS

On OpenSolaris, since much of the independent developer community uses the domain name system (DNS) for host resolution, etc we have that as the default and didn't implement a pretty wrapper to setup a system for NIS as has been done in the past. However, the steps aren't too onerous.

Remove All the "Helpful" Bits

Disable Network Automagic (NWAM) if it doesn't get along with your system

Disabling NWAM
Run svcadm disable physical:nwam; svcadm enable physical:default
Setup /etc/hostname.<interface>
Put the hostname of your machine in a file called /etc/hostname.<interface> where interface is your ifconfig(1) interface name (i.e. bge0, yukonx0, etc.)
Setup /etc/defaultrouter
Put the router's IP address in /etc/defaultrouter
Setup your /etc/netmasks file if you have a non class-C network (non 255.255.255.0 netmask)
Put in an entry following the form <network> <netmask> (e.g. 172.16.24.0 255.255.252.0)

Configure NIS

Setup /etc/hosts
Enter your:
  • NIS Server's IP Address and name(s)
  • Your system's IP Address and nodename (if you also disabled NWAM)
Setup /detc/defaultdomain
Put your domain name in the file but remember it is case sensitive (i.e. clay.Boulder.Co.US)
Setup /etc/nsswitch.conf
Ensure the following lines have nis in them, so NIS is used to resolve (of course some of these are site specific too, so pick as appropriate):
  • passwd
  • group
  • hosts
  • ipnodes
  • ethers
  • netgroup
  • automount
  • printers
  • auth_attr
  • prof_attr
Change /etc/auto_master for the full IPS experience
To prevent mounting certain directories through a NIS auto.master map add the following to the end of /etc/auto_master (of course changing the mountpoint as appropriate):
/usr/local -null
Now turn on NIS
To enable and finish configuring NIS one should now only need to run ypinit -c and follow the prompts:
  1. Enter the domain name (as entered in /etc/defaultdomain
  2. Enter the NIS server´s name (as entered into /etc/hosts)
Ensure the NIS client service is enabled
To turn on NIS all one should need to do is run svcadm enable nis/client
Now to check everything
Everything should be setup and running now, but to make sure run svcs -x nis/client and if in the maintenance state there is a couple of possible reasons:
The log file says directory /var/yp/bindings/<domainname> not setup
Run mkdir /var/yp/bindings<domainname> and (for good measure) add /var/yp/binding/<domainname>/ypservers with the name of your NIS server (same as the entry in /etc/hosts in it
Things don't seem to resolve correctly
Run ypwhich(1) to see if you are binding to the correct server
Ensure /var/yp/aliases has your domain name and the keyword ypservers in it
The correct format for the aliases file is:
<domainname> <domainname>
ypservers ypservers
After trying any of these restart NIS with svcadm restart nis/client

Installing OpenOffice

Installing OpenOffice demonstrates the beauty of the Image Packaging System (IPS). As long as you have a working network connection and can resolve and connect to pkg.OpenSolaris.ORG then all one needs do is enter pfexec pkg install openoffice (or omit pfexec if root), and in a few minutes OpenOffice will be installed into /usr/bin/soffice.

Installing Real Player

Real Media's RealPlayer is very easy to install. Simply go to Real.COM and at this time the option on their main page should be "Download RealPlayer" and you'll want your architecture (for 2008.05 X86). Save the file and then run chmod 755 <filename> and execute the file by typing the full path or ./<filename> to execute it. I've found (if installing as root) that trying to answer Y to "Make Symlinks?" is a bad idea on OpenSolaris. Afterwards, to start RealPlayer just run <your install locations>/realplay.

Installing Adobe Flash

Making the operating system easier to use and having a full web-browsing experience available are two goals we had in mind while creating the Indiana project (the ancestor to OpenSolaris 2008.5), however due to license restriction we could not bundle Adobe Flash. But, the Mozilla project already had an awesome answer to this: If you need to install Adobe Flash go to a website which uses Flash. That's it, click the "Download Plug-in" Option and answer the prompts. It's super simple!

Although if you need to have Flash available for the entire system (as downloading through Firefox's easy way is only for your particular user) then go to Adobe's web-site, click "Get Flash Player" and download Flash for Solaris X86. Then (after expanding the archive -- e.g. bzip2 -dc /tmp/<filename> | tar -xf ) copy the two files (one shared library -- .so -- one Firefox .xpt file) to /usr/lib/firefox/plugins/. Then, you are done; if you really want you can check if it installed correctly by putting about:plugins in your Firefox URL bar and pressing return.

May 08, 2008

blogs.sun.com RSS feed

For reasons beyond my ken, blogs.sun.com doesn't actually list an RSS feed anywhere I can find, but it's at http://blogs.sun.com/main/feed/entries/rss.

Update:: it's now grown an RSS icon. Thanks!

OpenSolaris community - an introduction

Deirdre just posted some great videos from the OpenSolaris developer summit. This was a great weekend and it was fun getting to see the faces behind the messages on opensolaris-discuss.

Thanks for the great videos Deirdre!


 

Intel Keynote at JavaOne

This is the second JavaOne I have attended, and Intel has been a big sponsor. This year, the VP of my division is giving the Intel keynote.

Doug got sick on Monday of this week, and being in San Francisco, he got a lot of home remedies and Chinese herbs to fix him up. He made a joke about this in the beginning of the talk.

Doug introduced the Tick-Tock model, our relentless innovation clock where we get predictable annual advances. "MilliWatts to PetaFLOPs" is the theme of what Intel is delivering.

First task - build an awareness that software is critical to the success of hardware. Doug showed how Intel is involved in the whole software stack.

Doug announced that Threading Building Blocks is now available today for OpenSolaris, and will be in a repository.

For OpenSolaris, he outlined how we're adding dramatic performance improvements, fault management and power savings.

In virtualization, he talked about how Intel is the #2 contributor to Xen. And when you combine this with the work we're doing with OpenSolaris, and the resulting Sun xVM Server product enjoys the best of both of these.

Now to Java - this is JavaOne after all. At JavaOne last year, we showed a 20% performance improvement on the JVM. This year, the goal was a 60% performance improvement on software only. They actually were able to achieve 68% improvement. This is rather incredible. I know as I used to run the server performance group, and we used to strive for a year just to get single-digit improvement. Now when you add new hardware, you get even more improvement, and Sun announced a new world record in Java performance this week.

PetaFLOPs looks good - what about MilliWatts? Intel announced the Atom processor for a new class of low power applications, such as Mobile Internet Devices. Doug pulled a vile of 1,000 Atom processors from his pocket to show off. Finally, there was an invitation to join moblin.org, Intel's open source effort to enable MIDs.

I got some good comments and feedback from someone at Sun that the messages were clear and we didn't try to push too much to the audience.

Great job Doug!

links for 2008-05-08

OpenSolaris 2008.05 Opens in China

Nice to see OpenSolaris 2008.05 already moving in China. Two blogs from Sun's Qingye John Jiang: OpenSolaris 2008.05 in Retrospect (see Chinese version here) and Photos from the Installfest (in Chinese and English). If you are familiar with the OpenSolaris activities in China, you know that it has been an utterly amazing year there -- especially on universities. But now that Indiana is out there as a product, I have a feeling that the China OpenSolaris community is going to actually increase its growth rate. Also, the OpenSolaris community in China is now directly interacting with the community in the U.S., Europe, and India and people all over the are noticing this development. A quote from John's blog: "20 years ago, there were less than 50 universities in China that had a computer science department, while this number exceeds 800 in 2008."

Gartner on Open Source at Sun

Open Source at Sun Microsystems, 2008: "No other major IT platform vendor has committed so much of its core assets to the open-source software model as Sun Microsystems. Certainly, companies such as IBM, Oracle and BEA Systems have dramatically expanded their own open-source strategies in recent years, but only Sun has literally open-sourced nearly the entire family of products — that is, its intellectual property (IP) — from its operating system to Java." -- Gartner

FOSS at Sun. It's a lot.

OpenSolaris Summit Pics: Two

Here are a few more images from the 2008 OpenSolaris Summit this weekend in Santa Cruz. The summit was an excellent event. Many good sessions, but even more importantly, it was fantastic meeting all the people around the world I've been dealing with for four years now. Check in on the summit wiki in the next couple of weeks because the presos will be posted there.

May 07, 2008

OpenSolaris build support landed in Songbird!

woot woot poot poot!

preed just landed (here, and here) alfred’s last two remaining patches for bug 7800: Songbird would be even more cross-platform with OpenSolaris/Solaris support!

so as of now, OpenSolaris support is a first-class citisen in the Songbird SVN repo. while we won’t be able provide QA coverage, i’m bringing up a machine here with OpenSolaris 2008.05 that i hope to turn into a buildbot so we can at least monitor and know when checkins break the OpenSolaris build.

needless to say, i’m pretty psyched at my two favourite open source projects getting it on. :-P

but what’s really cool is go take a look at bug 7800… i mentioned this at our session at the DevSummit on Sunday: this was a fantastic example of an external contributor working directly via forums and via our Bugzilla, getting code review, updating patches, etc. etc. the list of patches and comments is probably our longest yet actually.

HOWTO: Enable zfs compression when installing OpenSolaris 2008.05

Currently the simplified installer we're using for OpenSolaris 2008.05 (aka Project Indiana) doesn't support specifying zfs options for the zpool that gets created on the target disk during installation.  You can always turn options on after installation but compression is one option that isn't applied retroactively and so really benefits either new zfs filesystems created after installation or being turned on when the initial zfs pool is created.  Enabling compression for the zfs pool that gets created during installation isn't all that difficult.  Here's how you do it.

Step 1: Boot the OpenSolaris 2008.05 live media

Step 2: Once booted and sitting at the Gnome desktop, open a terminal window by right-clicking on the desktop and click on the open terminal selection

Step 3: Create a new file with the following content (vi set_options.sh)

#!/bin/sh

until [ "`zpool list rpool`" ];
do
    :
done

pfexec zfs set compression=on rpool

# For some reason, the rpool/ROOT dataset (which is the root filesystem

# doesn't inherit the compression property from the parent

# pool like the other datasets.  So, we'll just set it manually

pfexec zfs set compression=on rpool/ROOT 

Save the file and make it executable (chmod +x set_options.sh)

Step 4: Now run the script (./set_options.sh)

Step 5: Double click on the Install icon on the desktop and proceed as normal

That's all there is to it.  Once you start the installation (after you answer the few questions required) the installer will setup a zfs pool on your target disk.  When that happens the script will set the compression property on that pool and the script will exit.  Thus your entire installation (at least a very high percentage of it) will be compressed where it can.

Laptop users or users that will only have a single disk may also want to change the copies property of the zpool so that in the case of disk errors zfs will have more than one place to look for the data in order to attempt a recovery.  Just add the following to the end of the script above.  This will store two copies of data instead of just one.

pfexec zfs set copies=2 rpool

pfexec zfs set copies=2 rpool/ROOT

OpenSolaris Launch at CommunityOne: Pics

OpenSolaris 2008.05 took center stage at CommunityOne yesterday. I just walked around and took photos and talked to people all day. The buzz was palpable. Congratulations to everyone involved in bringing this distribution to life. New users go to opensolaris.com along with those interested in developing applications for the operating system, and developers interested in working on the system itself and many other related projects go to opensolaris.org.

OpenSolaris at CommunityOne OpenSolaris at CommunityOne

OpenSolaris at CommunityOne OpenSolaris at CommunityOne

OpenSolaris at CommunityOne OpenSolaris at CommunityOne

71 images from CommunityOne 2008 here on Flickr.

OpenSolaris 2008.05

I'm thrilled by the latest delivery of the Sun's OpenSolaris distro, and I was happy to see the "party" atmosphere at Community One on Monday. A lot of people have worked very hard to put the thing together, and everyone wanted to mark this event - both as the culmination of a lot of work, and as the beginning of a new phase of building out the distro with more content - both by Sun, our business partners, and by our communities. Thanks to everyone for their efforts.

If you haven't already given it a spin, try it out - it's a live CD image you can download from here.

OpenSolaris Developer Summit 2008, Day 2

OpenSolaris Dev Summit Logo

  • Day 2 of the Summit started with a panel discussion on Advocacy, which I was invited to help kick off. Advocacy is an interesting Community, because it includes the worldwide user group effort as well as evangelism for OpenSolaris. I praised the Advocacy efforts of Sun and others, relating how difficult it is to create a robust, self-sustaining community when you start out with software that was mostly developed "inside the walls" and then freed.
  • Unlike more traditional panels, it was designed by the moderator, Jim Grisansio to be a "fish bowl". There was always an empty chair, as an invitation for someone in the audience to join the panel, and someone would then escape to the audience.

The rest of the day was a series of breakout sessions. Here are some random thoughts in no particular order:

  • I sat in on a Documentation discussion. I mentioned that I often hear the need for documentation which helps people move from Solaris/SPARC to Solaris/Xeon, including porting apps, differences to expect, etc. I was told that there is an existing document on this, but it's a few years old. Sun is apparently working on updating it to Solaris 10. I also said that Intel might be able to contribute to this as well.

    (Of course, I come from an era when we used to say, "why do you need documentation? Just read the source!". But I degress).

  • There was a fantastic session on Desktop advances, and the plans going into the next year's advances. In particular, when they talked about advances to NWAM (Network Automagic, the GUI which gets you onto a wireless network), there was a mockup of a connection management UI. I noted that there is a Linux project called "conman" (love the name) which might offer some collaboration here. (Another AR for Dave...). They were also showing how good compiz looked. I love it and use it on my VAIO.
  • The session I recommended we add to the conference was on moving the SCM (source code management) system for the operating system outside the firewall. Most of the prepared remarks were on the process which will be used with Mercurial, and which pieces still need to be developed.
  • I missed the session on the ARC... I thought it would be good to take off because a member of my team wasn't feeling too good and I wanted to get him to his hotel in San Jose.

Of course, the best thing about a Summit like this are the connections between people before and after the organized sessions. (And, sometimes during the sessions!)

I loved the live IRC chat which was projected on the wall during the sessions. This helped encourage live feedback from the room and people around the world watching the video screen.

The level of organization was better in my opinion than the last summit, though there was not as much of an ad-hoc feel.

Some people outside of Sun said they very much appreciated having Sun management there in the room listening to them. This should create all kinds of good will in the community.

I did hear a suggestion that we add a code sprint element to the event, which would get developers together to create code live in needed areas.

All in all, I thought it was a highly valuable event. I really appreciate Sun for creating and funding this event. It was a great way to get the community lined up for support.

more practice

A clear day with no wind: a good time to practice those landings. What I've discovered is that if there's a headwind, it'll slow your actual ground speed, and being a little fast on approach won't make much difference for the ground roll. Every landing looks good. But on a calm day, you have to be as slow as you can make it, or you'll have trouble. Plus, I tend to be a little anxious to turn base as soon as I'm able, and that can easily set me up with too much energy for the rest of the landing. So, as contrary as it seems, it's the calm days, not the windy ones, that are the tougher. (A tailwind is far harder still.)

I headed out to the practice area, did a couple of slow and deliberate clearing turns while practicing my scanning, and then entered slow flight. First with 10 degrees of flaps, then 20, and trimmed down to 60 MPH. I did a few turns in slow flight, and one power-off stall, and then headed back.

The tower gave me a right downwind entry for runway 5, so I made my descent towards pattern altitude and came in. I intentionally kept it a bit slow -- 90 MPH -- so that I had time to think about how close I was (spacing out that downwind is tough if you don't have the rhythm and mental picture of the turn when the numbers hit 45 degrees) and line up my ground track. I then proceeded to make a somewhat high but doable approach using full flaps. I ended up getting permission from the tower to turn off at the runway intersection and taxi back. Obviously, I landed longer than I wanted.

I taxied back to the start, and tried a short-field takeoff. I set the breaks, applied full power, and then rotated up as soon as I could. Then nose down a little in order to get to a normal Vy. I was off before the touchdown zone, so I think I did fairly well. On approach, I tried to do a short-field landing as well. I got the airspeed right and was able to get off at Delta, but I touched down longer than I'd want.

I taxied back and tried a soft-field takeoff. I set 10 degrees of flaps while waiting at the hold short line. Then I taxied out and, without stopping or slowing, made a turn to the runway centerline and brought up full power. I tried to hold the elevator back a bit so that I was keeping pressure off the front wheel. Just as with Plumb Island long ago, I had trouble keeping it in ground effect as I was supposed to do. It just wants to fly. I got up to a couple of hundred feet, accelerated to 85, and retracted flaps.

For this last landing, I tried short-field again. I set full flaps and aimed for the numbers. I set down shortly after, and hit the brakes. I had to bring power back in order to make it to the first turnoff at Delta. Success! I taxied back and tied off.

I talked with Tim, and we'll be doing some night work next week (I need 8 more takeoffs and landings at night), and my plans for ground school and the tests coming up.

OSDevCon schedule up!

Dirk just mailed out the notifications of acceptance to the various speakers for OSDevCon, and posted the schedule up on the website.

This was my first experience being on a program committee to help select speakers, and I have to say it was fun. It was great to see submissions from so many people I know from the community, and there were definitely some hard selections to be made (I think we had FOUR people submit IPS/packaging proposals!!)

Anyway, glad to see a good mix of some knowledgable Sun folks, as well as some focus on other aspects of OpenSolaris that don’t get enough attention IMHO (Testing & Localisation/Translation).

Plus… boat trip! Seriously! That would be the only conference I’ve ever seen with a boat trip + dinner. I’m jealous I can’t make it. :(

Anyway, congratulations to all the speakers.

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.

Opensolaris 2008.05

Opensolairs 2008.05 was released at CommunityOne. This marks a milestone in the Opensolairs history.


The Opensolaris community got together at the developers summit and discussed the way forward.


 

More pictures from the events here and here

Its heartening to read the positive reviews around the web (a rather flattering on here). Its been months of hardwork to get here. But as dminer puts it, it more a beginning than an end.

Want to try out the great new technologies like ZFS, Dtrace, Zones, SMF, an easy to use desktop with 3D goodness, all in an easy to digest 1CD format? Go get Opensolaris 2008.05

 


 

May 06, 2008

Radio Free Software: Intel on OpenSolaris

Barton George and I talk on this 10 minute podcast about what Intel is doing on OpenSolaris. Download it and listen to some of the work we're doing. Pass it on to your friends. Here is the tagline from his podcast show, Radio Free Software:

Intel on OpenSolaris - 08D01586.0
Title: Dave Stewart of Intel
Description: An interview with Dave Stewart, head of Team Open Solaris
at Intel, about Intel's involvement in and contributions to Open Solaris.
File Name: 08D01586_00.mp3
I did this interview over the phone, and had never met Barton before, but I met him just last night at CommunityOne. It was fun putting a face to the name.

(But he thought my team name sounded like a soccer team...)

2008.05: More ways to get it

As I did for the preview releases, I'll collect links to mirror sites here. These will also get links on the various download pages out there.

Bart and I just finished updating the package repository with the new packages we'd received the past few weeks, and that means 2008.05 is out the door. (Thanks to everybody who tried the release candidate, filed a bug, shuffled a package, wrote or proofread a document, or just spent energy anticipating the bits.) You can get the ISO image, suitable for burning to a 700 MiB CD or immediate use in virtual environment, directly from the following locations:

Reading the logs, and talking with some of our mirror sites, we know we all served out a lot of downloads for the previews; if you're interested in being a mirror, please let me know. (2008.05 remains completely redistributable.) We're using a bigger download complex this time, but every mirror helps.

If you already downloaded and installed Preview 2, it's more complete, easier, and probably faster to update directly using image packaging: see the update guidelines. These instructions involve a small script to safely update a clone of your installed system, and then switch to that on a system reboot. (If you were running Preview 1, you should update that to Preview 2, and then go on to 2008.05.)

Update 1: My thanks to Tobias Lundquist, who's once again mirrored via FTP and HTTP (Internet 2) in Sweden.

Update 2: My thanks to Luca, who's put up an HTTP mirror in Romania.

These links are for the gzipped CD image, which contains the 12 "primary languages". It installs quite a bit faster, particularly on systems with slower CPUs. There is also an LZMA-compressed image, which has localization support for 42 languages, including those primary ones. It's available from dlc.sun.com, genunix.org, ftp.df.lth.se, mirrors.xservers.ro, and as a torrent. (Consult the language lists for specifics.)

[ T: ]

CommunityOne 2008

The first couple of hours attending CommunityOne have been very interesting.. here you have a couple of pictures about it:


Testing ZFS.. the rough way


Green and Hahn introducing IPS

I'll upload some more picture later on.. :-)

May 05, 2008

OpenSolaris OS 2008.05 First Impressions

I installed the final release of OpenSolaris OS 2008.05 on my Sony Vaio
Centrino Pro laptop. OpenSolaris 2008.05 is the new product based on
the OpenSolaris project. You can obtain yours by going to opensolaris.com. In fact I'm typing this
blog post between sessions at CommunityOne on my new OpenSolaris 2008.05
installation!

Some initial impressions:

1. The OS comes as a LiveCD. This means you can pop the CD into your drive,
reboot your computer and (assuming that the CD is in the boot path) you
can boot up OpenSolaris and give it a try. You don't need to install it on
your computer's hard drive to check it out. You can see what works and if
anything doesn't, and then if you like it, install the OS. This worked like
a champ!

2. The visual presentation of the OS is just beautiful. I was kind of
uninspired by the new bubbles logo for OpenSolaris. But when I installed
the OS, I was startled by how beautiful the look is.

3. So much stuff just works out of the box on my Centrino Pro. I was able to
wireless LAN right away of course on the last-generation 3945 chip. But
audio worked for me right away! This is honestly the first time I have
had sound worked for me out of the box without any fussing.

Now time for full disclosure: Not everything is perfect on all systems. I
also spun up the LiveCD on my Lenovo T61 Centrino Pro, and the audio wasn't
working, so your mileage may vary. Try it out and send feedback!

4. compiz is integrated with the window manager now. This means if you
have a decent 3D graphics chip, you can get these awesome 3D window effects
by selecting System->Preferences->Appearance from the top bar and then select
then select the Visual Effects tab. (I wouldn't necessarily try this in
a virtual guest, since I would imagine some odd things might happen). If
you are not familiar with compiz, you really should try it. You will truly
impress your friends who use Vista or Mac OS as to how cool and fun your
OpenSolaris desktop can be.

I showed off my laptop to my friend Max who couldn't believe everything
had worked so well out of the box. "Didn't you install some packages?" No, the
great thing is, all of these things "just work" out of the box on this PC.

I'm still playing with the distribution - I have yet to dive into package
installs for example. But I'm very excited that things worked so well
already.

Edited to Add: Thanks for all of the commenters who kindly pointed out that I had put "2009.05" instead of "2008.05" in the title of the post originally.  Guess I was just too excited!

VirtualBox 1.6 at Community One

Hmm. Always wondered if I could write a blog entry "live" from a conference session. Since I'm writing this entry "live", I'll apologise ahead of time for muddling my tenses as I move more into the present tense!

I'm here at community one listening to Joost Pronk and Achim Hasenmueller talking about the latest improvements and coolness in VirtualBox. Achim's team has just released version 1.6, which has an impressive list of features that can be found in the changelog right here.

  • Hey, Jonathan just dropped by to say hello before the talk begins.
  • Now Joost is explaining the context i.e. the different virtualization technologies that Sun offers and where VirtualBox fits in the picture.
  • Next, Achim is introducing the core technology, the history, the design, how it's being used.
  • Christoph Schuba is now doing a demo of Trusted Solaris multi-level security with Windows Vista running in VirtualBox, which is a neat combination of the Zones technology on which Trusted Solaris is based, and the VirtualBox type 2 hypervisor.
  • Oh and Christoph is also running OpenSolaris native on a MacBook - because, as Christoph says, OpenSolaris runs on lots of machines. Very, very, nice demo.
  • Now Achim is walking through configuring and running OpenSolaris on VirtualBox. Oh cool, now he's showing off the latest guest additions for OpenSolaris, which means things like mouse pointer integration and seamless mode now work too.
  • Now we're delving into the architecture a little, and Achim's talking about the new WSDL/SOAP interface to VirtualBox that's a part of 1.6 to allow other management tools to manipulate the hypervisor and its guests. The default graphical UI and the command line UI already use that interface; now the API is available to allow developers to do what they want with it.
  • Achim's also particularly happy about the virtual SATA controller that's new for 1.6
  • VirtualBox now runs on Solaris 10U4 and OpenSolaris too. Some nice integration with zfs and zpools, with integrated iSCSI support. Oh and VirtualBox is Zones aware too, and it can be used simultaneously in multiple zones.
  • Mac support is getting better, but there's still more in the pipeline.

Now the Q&A begins

  • Q: Virtual Machine migration tools?
  • A: Better support for VMDK formats in the pipeline
  • Q: Older hardware?
  • A: Tend to run out of memory if you want to run modern guests! Otherwise, anything that's Pentium III or above works.
  • Q: Compare and contrast with Xen?
  • A: Xen is a type 1, VirtualBox is a type 2, Xen emphasis on paravirtualization, VirtualBox focus on usability.
  • Q: What kind of shared storage for live migration
  • A: No specific restrictions at this point - files, devices, or iSCSI targets

Now some roadmap items that are being worked on

  • Memory ballooning
  • 64-bit guests
  • Live migration
  • 3D virtualization
  • More portable snapshots
  • VMDK support
  • VHD support
  • Nested paging for AMD-V and VT-x
  • Next generation seamless windowing with better desktop integration
  • Paravirtualization using VMI and Windows Enlightenments

You can download VirtualBox 1.6 by following the downloads link from virtualbox.org.

4 singing birds

At the OpenSolaris Developer Summit this past weekend, I had the chance to present Songbird. We thought it would be cool to basically do a group talk, so I enlisted the help of Albert Lee, Alfred Peng, and Ken Mays (all members of both the OpenSolaris community and the Songbird community) and the four of us gave a talk & demo.

(with many thanks to Jim Grisanzio for his excellent photo-taking skills and camera)

Reading gzip compressed data via Javascript

This weekend while I was working on my Magnatune extension for Songbird, I found I needed to fetch, expand, and parse a remote gzip’d XML document. The fetch was easy (XMLHttpRequest), as was the parse (DOMParser), but I had no idea how to do the expand.

Fortunately, Mossop over on extdev pointed me at Mozilla’s streamConverter services.

Unfortunately there wasn’t much sample code for me to blatantly rip-off^W^W^Wlearn from, so after much bumbling around like the JS amateur that I am, I finally got something working. I’m documenting it here so that hopefully others might find it useful. Or at the very least, I can look it up again when I will inevitably need to do this again :-)

Mossop first pointed out that I wouldn’t be able to use XMLHttpRequest and that I would need to open a channel:

// Get the IO service
var ioService = Cc["@mozilla.org/network/io-service;1"]
        .getService(Ci.nsIIOService);
// Create an nsIURI
var mtUri = ioService.newURI(magnatuneURL, null, null);
// Create a channel from that URI
var chan = ioService.newChannelFromURI(mtUri);

Awesome. The tricky part now is the docs lie. They say there is a gzip to uncompressed stream converter that implements asyncConvertData() and a synchronous convert(). I opt’d for synchronous since it seemed easier to get working off the bat, but kept getting error messages saying it wasn’t implemented. Turns out that’s true. The gzip->uncompressed method only implements asyncConvertData. So now I’d need to define a stream listener (implementing the nsiStreamListener) interface. This is the listener that is invoked for each uncompressed chunk. It needs to implement onStartRequest, onStopRequest, & onDataAvailable where onDataAvailable is passed the uncompressed data:

function StreamListener() {
    this._data = null;
    this._first = true;
}   

StreamListener.prototype = {
    onStartRequest: function(aReq, aContext) {},
    onStopRequest: function(aReq, aContext, aStatusCode) {
        // this._data is my full uncompressed file now, for Magnatune this is my
        // XML file, so now I can go do whatever I want with it.
        Magnatune.Controller.completeSyncWithStore(this._data);
    },  
    onDataAvailable: function(aReq, aContext, aInputStream, aOffset, aCount) {
        var binInputStream = Cc["@mozilla.org/binaryinputstream;1"]
                    .createInstance(Ci.nsIBinaryInputStream);
        binInputStream.setInputStream(aInputStream);
        if (this._first) {
            this._data = binInputStream.readBytes(binInputStream.available());
            this._first = false;
        } else
            this._data += binInputStream.readBytes(binInputStream.available());
        binInputStream.close();
    }
};

So now that I have my channel open, and my stream listener defined - I need to create my nsIStreamConverter service to take the gzip’d data from the channel, and pass it to the stream listener so it can do its thing with the uncompressed data.

// Get the converter service
var converterService = Cc["@mozilla.org/streamConverters;1"]
            .getService(Ci.nsIStreamConverterService);
        
// Instantiate our gzip decompresser converter
var converter = converterService.asyncConvertData("gzip",
            "uncompressed", myListener, null);

So now that we have all our pieces defined, all that’s left to do is pass the converter to the channel and start the pipeline:

// Initiate the asynchronous open.  This will initiate the connection
// to Magnatune, grab the gzip'd data and pass it to our gzip converter
// which will then call the StreamListener, so our completion hook is
// fired in the StreamListener's onStopRequest()
chan.asyncOpen(converter, null);

Awesome. So now every Songbird/Magnatune user will be downloading a 300kb gzip’d file instead of a massive 6MB file each time they sync with the Magnatune DB.

OpenSolaris, the distro

As of a little while ago, the official bits for OpenSolaris 2008.05 went live, at the distro's home site, opensolaris.com. While it may seem odd to say, I view this day more as a beginning than an ending (though I am more than happy to call an end to the 60+ hour weeks that went into building it!). It's a beginning in many ways, but I'll just say that while we've shipped an image and loaded up a pretty good number of packages into the repository, most of the functionality we plan to ultimately have isn't there yet, not to mention the number of packages we want to have in the repository.

At the moment I'm too worn out from the weekend at the OpenSolaris Summit to even attempt to write anything technical, as it likely wouldn't make any sense, so I'll just keep this short and close with a big THANK YOU to everyone on the Caiman team for all the work they've done in getting us to this milestone. It's time to feel good about what we've done.

Look forward to seeing lots of you at CommunityOne!

CommunityOne: here and there

Sunday I spent at Moscone, teaching laptops and projectors to get along. Saturday, Nathaniel, Benjamin, and I dropped in for lunch at the Developer Summit. I managed to talk with a few people before the boys found large whacking sticks, and then it seemed best to drive to Pescadero for some beach time.

I'll be busy for the morning of CommunityOne. For Rich's keynote, I'll be running some of the less violent demos. Almost immediately after that, lead modernizer David Comay and I will be going into more detail in our session

S297399 Getting Started with OpenSolaris™; New Features & Building OpenSolaris™ Packages; 11:00 a.m., Moscone South/Esplanade 300.
We've got some additional demonstrations, including a worked example of package publication using some pre-release tools, which could be exciting.

I'm hoping to have some time for questions during the session but, if not, I'll be circulating during the afternoon and happy to talk to people about 2008.05, image packaging, or whatever. And, of course, there will be time to talk at the party after the day's sessions. In any case, I should be easy to spot: I have a new tie.

I'm told you can still register on-site—it's not too late.

[ T: ]

dtrace.conf post-post-mortem

This originally was going to be a post-mortem on dtrace.conf, but so much time has passed, that I doubt it qualifies anymore. Back in March, we held the first ever DTrace (un)conference, and I hope I speak for all involved when I declare it a terrific success. And our t-shirts (logo pictured) were, frankly, bomb. Here are some fairly random impressions from the day:

Notes on the demographics at dtrace.conf: Macs were the most prevalent laptops by quite a wide margin, and a ton of demos were done under VMware for the Mac. There were a handful of dvorak users who far outnumbered the Esperanto speakers (there were none) despite apparently similarly rationales. There were, by a wide margin, more live demonstrations that I'd seen during a day of technical talks; there were probably fewer individual slides than demos -- exactly what we had in mind.

My favorite session brought the authors of the three DTrace ports to the front of the room to talk about porting, and answer questions (mostly from the DTrace team). I was excited that they agreed to work together on a wiki and on a DTrace porting project. Both would be great for new ports and for building a repository that could integrate all the ports into a single repository. I just have to see if I can get them to follow through now several weeks removed from the DTrace love-in...

Also particularly interesting were a demonstration of a DTrace-enabled Adobe Air prototype and the very clever mechanism behind the Java group's plan for native Java static probes (JSDT). Essentially, they're using the same technique as normal USDT, but dynamically generating the tracing description structures and sending them down to the kernel (slick).

The most interesting discussion resulted from Keith's presentation of vprobes -- a DTrace... um... inspired facility in VMware. While it is necessary to place a unified tracing mechanism at the lowest level of software abstraction (in DTrace's case, the kernel), it may also make sense to embed collaborating tracing frameworks at other levels of the stack. For example, the JVM could include a micro-DTrace which communicated with DTrace in the kernel as needed. This would both improve enabled performance (not a primary focus of DTrace), and allow for better domain-specific instrumentation and expression. I'll be interested to see how vprobes executes on this idea.

Requests from the DTrace community:

  • more provider ala the recent nfs and proposed ip providers
  • consistency between providers (kudos to those sending their providers to the DTrace discussion list for review)
  • better compatibility with the ports -- several people observed that while they love the port to Leopard, Apple's spurious exclusion of the -G option created tricky conflicts

Ben was kind enough to video the entire day. We should have the footage publicly available in about a week. Thanks to all who participated; several recent projects have already gotten me excited for dtrace.conf(09).

pkg(5): Reverse proxying your depot with Apache HTTPD

As part of the changes to get Developer Preview 2 ready, we decided to rejigger the HTTP handling on pkg.opensolaris.org so that we could have more options as more people attempt to use the early versions of image packaging. Previously, we ran pkg.depotd directly on port 80, in its read-only mode; now we use Apache HTTPD to listen on port 80, and use mod_proxy to proxy those incoming requests to a pkg.depotd instance listening on a separate port. With a couple of different approaches

Proxying and rewriting is one of those endlessly fun activities that somehow actually ends up being productive. Last time, proxying fun led Steve and I to fiddling around such that we ended up with proxy and rewrite patterns to enable the country portals for opensolaris.org.

If you want to share the top-level component of your URL space, you'll need to watch pkg(5) developments, as you have to map the list of operations one-by-one—and I know there are some new operations forthcoming. That would involve adding something like the following to a VirtualHost directive in your Apache configuration.

ProxyRequests On

Redirect /index.html http://pkg.opensolaris.org/status

ProxyPass /abandon http://pkg.opensolaris.org:10000/abandon
ProxyPass /add http://pkg.opensolaris.org:10000/add
ProxyPass /catalog http://pkg.opensolaris.org:10000/catalog
ProxyPass /close http://pkg.opensolaris.org:10000/close
ProxyPass /feed http://pkg.opensolaris.org:10000/feed
ProxyPass /file http://pkg.opensolaris.org:10000/file
ProxyPass /filelist http://pkg.opensolaris.org:10000/filelist
ProxyPass /manifest http://pkg.opensolaris.org:10000/manifest
ProxyPass /open http://pkg.opensolaris.org:10000/open
ProxyPass /search http://pkg.opensolaris.org:10000/search
ProxyPass /versions http://pkg.opensolaris.org:10000/versions

ProxyPass /css http://pkg.opensolaris.org:10000/css
ProxyPass /logo http://pkg.opensolaris.org:10000/logo
ProxyPass /icon http://pkg.opensolaris.org:10000/icon

ProxyPass /status http://pkg.opensolaris.org:10000/

Configuring your server in this fashion allows you to mix an image packaging server in with your other site content. You can easily deliver static content alongside your depot, for example.

If you don't mind pushing your package repository down one level in your URL space, then the above simplifies to

ProxyRequests On

ProxyPass /pkg/ http://pkg.opensolaris.org:10000/

(which should be a hint on how to create a repository farm under a single URL). To use the latter, you would use pkg(1)'s image-create subcommand

$ pkg image-create -F -a mypkgs.com=http://www.myserver.com/pkg /path/to/image

to connect your image to your reverse-proxied packaging depot.

In the two examples above, you should of course replace machine names like pkg.opensolaris.org and port numbers like 10000 with values appropriate to your own installation.

Happy proxied package serving!

Feel free to share your alternative configurations or approaches with other HTTP servers here, or on pkg-discuss-AT-opensolaris.org.

[ T: ]

Et tu, Brute?

So Jim's posted some photos of the OpenSolaris Developer Summit.

It was great to meet so many people in person. We had some good talks, lots of discussions (not all of which actually led to results, but you can't have everything). One of the things that is clear is that open communication is vital, and we definitely had some of that.

We're on the way to building a stronger community, and there was some additional encouragement organised for us. Go Team International!

Next up, Community One.

SXCE b88 and Creative MuVo's

Quick note to anyone who, like me, is a fan of Creative's MuVo line of mp3 players.
As of Solaris Nevada b88, my v100 mounts without having to open a terminal :)

Not sure about the other models, but this one follows the same design of the earlier ones.
My first one was a USB 1.0 with 128Mb of space - incredible how little that sounds now.

I haven't followed the putback logs for 88 that closely, but I'd guess 6682222 was the one.

May 04, 2008

Meet Me At JavaOne 2008

If you're attending JavaOne this year, do come to my session on Wednesday at 2:50pm. It's T-7064 and I will be talking about the Adoption-Led Market and the challenges it brings to the open source and free software community of communities. It's in room 305.

Alternatively, come to the Thirsty Bear on Tuesday evening around 8pm and I'll see you at the open source un-BOF for chat, food and drink.

OpenSolaris Summit 2008 pics

I have just uploaded some of the pictures that I took during the first day of the OpenSolaris Summit 2008:

OpenSolaris Developer Summit 2008, Day 1

OpenSolaris Dev Summit Logo
I'm sitting today at the OpenSolaris Developer Summit in Santa Cruz. Some thoughts about Day 1:

> There was a changing in the guard from the Sun engineering side: Bill Franklin is delegating the role of executive sponsorship to Tim Cramer. Tim gave a very candid talk saying that they had not yet achieved the goals for the community that they wanted, but promised renewed effort to make things better.

> Before he left the stage, Bill Franklin showed off his "OpenSolaris Unleashed" shirt. On the back, it has the Intel logo and "Open Source Technology Center" on it. He thanked Intel for our involvement in OpenSolaris and wanted to highlight it to the community. I was blushing!

> There was a discussion about which packages are missing from OpenSolaris 2008.05 now... Jim Walker ran through the 12 steps to get a package into the "official" repository. Lots and lots of steps! Then the discussion evolved into what kind of repositories should be there...

1. a highly stable repository with the full 12 step program,

2. a repository of things which have a little maturity (like, a week?)

3. the really raw repository

> There was a really phenomenal talk from David Korn. David is something close to an icon in the Unix space. He is the author of the Korn Shell, and gave us information about what his group at AT&T Research does, like nmake and ksh93. Wow! He's a rock star.

> I missed the next session, on which packages are missing.

> There was an open meeting of the OpenSolaris Governing Board (OGB). The meeting discussed two issues:

1. whether there should be a Code of Conduct with OpenSolaris like are in other communities / projects like Apache, to get more civility in the discussions

2. Should we reorganize the Community, like deleting the inactive communities. Currently, to be a voting member of OpenSolaris, you need to be a Core Contributor of a community, but the communities are sometimes not very active, because they are really just BOFs for a general topic. So maybe we should move membership "down" a level, to the projects. I raised the concern that the intel-plartform project is in like 3 communities, and none of them feel like they "own us". So I had to pitch a fit to get the core contributors from Intel to be approved as voting members before the board elections.

After the open OGB Town Hall meeting, we went to the evening team building event and dinner. (I posted some info about this over in my personal blog, Running in the Rain.)

May 03, 2008

OpenSolaris Summit Pics: One

I finally made it to the OpenSolaris Summit in Santa Cruz. These are just some warm up shots from the bar last night. I got in late so I didn't get everyone who was there, but everyone will show up here at one point or another. The conference starts today and runs through tomorrow. Should be fun ...

IMG_3721 IMG_3722

IMG_3734 IMG_3736

IMG_3738 IMG_3740

IMG_3742 IMG_3730

IMG_3728 IMG_3727

IMG_3725 IMG_3724

IMG_3723

links for 2008-05-03