Tuesday Jul 07, 2009

Opensolaris on Extended Partition

Did anybody happen to see this recent flag day message on OpenSolaris?


Solaris now understands Logical Drives in Extended Partitions.  That means, Solaris can now be installed in extended partitions and it can also mount them.

Most of the systems comes pre-installed with Windows leaving only extended partitions for multiboot.  Linux supported extended partition for a long time.  This feature should have been in Solaris by the time the OpenSolaris distro was released.  Well, better late than never..

Wednesday Jan 07, 2009

Multiboot OpenSolaris on Dell XPS 1530 with MediaDirect

Got a new Dell XPS 1530 laptop.  Looks sleek.  186GB, DVDRW, 4GB RAM, 9 Cell Battery, soft touch keys for eject and volume control.  Pre-installed with Windows Vista 32 bit. It also has a feature called MediaDirect.  This can play music, video, pictures and presentations from the media in the dvd drive or from the user's Document's directory in the Vista partition without booting the Vista Operating System!

MediaDirect is actually running a scaled down version of Windows XP.  Mediadirect still uses the display, harddrive, CPU and memory.  Its not going to save much on power.  But is surely a quick way and convenient way access the files.

MediaDirect is indeed a nice feature.  But it has some limitation:

  • It requires a primary partition at the beginning of the disk of around 47MB.
  • It requires a logical partitions of around 2GB in an extended partition at the end of the disk.

That takes away 2 partitions.  Vista takes one more and Dell Recovery of around 10GB takes one more partition.  Thats it.  No space to install OpenSolaris.  Unfortunately, you cannot install Solaris in an extended partition (as of now).

Blowing up and reinstalling everything, including OpenSolaris, would screw up MediaDirect.  Pressing the Media direct button would give the grub option or boot Vista directly or switch the functionality of the power and mediadirect buttons or completely destroy everything on the disk!!

I and two of my colleagues experimented with different methods of installing.  Our requirements were:

  • Multiboot with grub
  • Vista and Solaris in primary partitions
  • Extended partition for additional OSes (like Linux)
  • Do not care about Recovery Partition
  • MediaDirect must still work

This is the sequence of operation that has to be followed in this order \*only\* to meet the above requirements:

  • Partition with MediaDirect CD
  • Re-partition with Gparted
  • Install Windows Vista
  • Install MediaDirect inside Vista
  • Check Vista and MediaDirect operations
  • Install OpenSolaris
  • Check Vista and OpenSolaris operations through grub menu
  • Check MediaDirect with the button
  • Install Additional drivers and applications through the CDs provided

Saturday Feb 23, 2008

Code For Freedom contest closed

Well, the Code For Freedom (CFF) contest is finally over. The results are posted on the CFF site. The grand prize winners will be awarded at Sun Tech Days in Hyderabad on 29th Feb 08 by Ian Murdock. Congratulations to all the winners. Thanx to everyone who contributed. Without all these contributions, this contest would not have been successful.

I was tracking the contributions to the OpenSolaris technology. The load in the initial stages of the contest was negligible. But during the end it reached a peak. I used to stay awake till 3am chatting with students answering their queries. Here is a screenshot of one of my gmail chat session. In the last two weeks of the contest, more than 50 contributions were submitted. The last contribution to OpenSolaris was submitted on 23:57 on 14th Feb 2008 IST! Just minutes before the contest ended.

Many students have committed to continue the contributions to OpenSolaris even after CFF. This contest has definitely raised the interest level of the students across India to contribute to open source projects. I believe, its just the beginning ...

Its not just the students, even we have learnt a lot while conducting this contest. We have received a number of feedback on what went well and what could be improved. Many people are asking if we'll have CFF next year. Well, I don't know. AFAIK, no decision has been taken in this regard. I hope it is...

Tuesday Jan 08, 2008

More tips for OpenSolaris CFF participants


  • send mails from email ids registered in SCA.
  • use SCA number in every mail you send to request-sponsor.

Before picking up a bug...

  • confirm if a bug is already being sponsored on
  • ensure that 'Responsible Engineer' field of the bug is empty
  • avoid selecting RFEs if you don't want to work on ARC cases. ARC cases are a good learning experience, but it takes time. And we have little time for CFF to end.

As soon as you pick up a bug send a mail to request-sponsor alias. The mail should contain:

  • Name and email id of the contributor. If two of you are working, give both names and email ids.
  • The bug number and synopsis
  • Category and subcategory of the bug (this is FYI to sponsors)
  • A two or three line description of the bug
  • A tentative date (in dd-mmm-yyyy country neutral format) when you'll submit the fix.
  • Your SCA number(s). If you don't have a SCA, then mention that you have started a process to get a SCA number.
  • Do NOT request for a sponsor. This mail is only an intent-to-work mail. A sponsor should be requested when a fix is ready. If a sponsor has special interest in the bug, then even such requests could be picked up by the sponsor.
  • Check http://opensolaris.org/os/bug_reports/request_sponsor.  This page should be updated with your request in a couple of days.

After selecting a bug...

  • do not expect that a sponsor will pick up your request or help you with fixing a bug just because you sent a intent-to-work mail
  • develop a fix for the bug, on your own.
  • compile the source with your fix and generate a binary
  • test your binary (this is very important)

When a fix is ready send a mail to request-sponsor alias. The mail should contain:

  • Name and email id of the contributor. If two of you are working, give both names and email ids.
  • The bug number and synopsis
  • Category and subcategory of the bug (this is FYI to sponsors)
  • The fix. The fix should be sent in one of the following formats:

An attachment of 'diff -u <oldfile> <newfile>'
A link to webrev or diff (-u) output uploaded to http://cr.opensolaris.org
'diff -u' output inline with the mail if the fix is just a few lines of change.

  • Mention any testing that you have done. This can include sample output of command or the steps you followed to test your fix and its results.
  • Your SCA number(s). If you don't have a SCA, then mention that you have started a process to get a SCA number.
  • Now you can request for a sponsor. Please be patient while your request is picked up.


  • All mails sent to request-sponsor alias are NOT eligible for CFF contest
  • All fixes integrated before 14th Feb are eligible for CFF.
  • Fixes submitted before 14th Feb but which are not yet integrated will be reviewed. Only those fixes which gets approved for quality will be eligible for CFF (even if they don't make it to OpenSolaris for some reason). So, make sure you have tested your fix properly and mentioned the test results in your mail to request-sponsor while submitting the fix.
  • If you have submitted a fix for any bug, then make a submission on CFF site NOW!
    Do now wait for your fix to be integrated or someone to tell you that you are qualified.  Make a submission now and we'll determine the quality.  Remember, make the submission ONLY if you have submitted a fix.
  • Do not request for a sponsor when you have picked up a bug.

Common mistakes:

  • Using unregistered email ids.
  • Not mentioning SCA numbers in the mail
  • Not giving the details (full name, email id, SCA #) of partners
  • Not mentioning existence of a partner while sending a mail to request-sponsor
  • Selecting wrong bugs (already sponsored, already fixed, too complex etc)
  • Copy pasting from others mails without editing the details properly
  • Requesting a sponsor without a fix

Please refer to my earlier blogs as well:



BTW, did you know that Campus Ambassadors have have access to more details about the bugs than what is presented on opensolaris.org?  So, if you need more info about a bug, contact your CA!

There is little time now.  The contest is closing on Feb 14th.  Rush your entries and your submissions.  And just because there is little time don't compromise on quality either!

All the best!

Wednesday Oct 31, 2007

Tips for OpenSolaris CFF participants

Here are some tips for OpenSolaris CFF participants: 

  • Read how to contribute to OpenSolaris at: http://blogs.sun.com/jkini/entry/contributing_to_opensolaris
  • Install OpenSolaris and download the source \*before\* you submit a request for a mentor.  Look at the source and get familiar with building one command (not the whole source).
  • Its not necessary to build (nightly) OpenSolaris to start with.  First identify the bug/RFE.  Then decide whether a nightly is required or building one part is sufficient for the code changes being made.  Your mentor can help you with deciding this part.
  • Confirm that the bug is not being worked upon by another contributor at http://opensolaris.org/os/bug_reports/request_sponsor/
  • There is a very good chance for an RFE to require a PSARC case.  PSARC case has a longer process which will delay the integration of your changes into OpenSolaris.  On the contrary, bugs have a negligible chance for a PSARC case.  I'm not discouraging you to pick up RFEs.  Just setting expectations.
  • If the code contribution is made before Feb 14 2008, then it'll be considered for the CFF contest.  It need not be integrated by that time.
  • Note that http://bugs.opensolaris.org is synced with the Sun Internal bug database every day.  There  have been issues with the syncing process which has caused contributors to pick up the wrong bugs.  Confirm with your mentor that the bug/RFE can be worked upon before you start.
  • Send a mail to request-sponsor alias as soon as you pick up a bug saying you are working on so-and-so bug/RFE and will come back with your contribution within so-and-so date.  This will be updated on the '.../request_sponsor' page.  This will prevent another contributor from picking up the same bug/RFE.
  • Testing the code changes is \*mandatory\*, even for trivial changes.  When you ask for sponsorship, your sponsor will ask you this.  If you have not tested, then you'll be asked to do it.  This will delay your fix being integrated.
  • You can look at the source on opensolaris.org and come up with a fix for simple and trivial fixes.  But, again, you \*must\* compile and test it.
  • Mention a long term email id while sending your SCA.  Currently there is no procedure to change your email id once a SCA is assigned.  It could be difficult to change it later.  If you know your college/institution email id is temporary, get a public domain email id and use that.
  • Mention your SCA number in all mails sent to request-sponsor alias.
  • Mention the dates in country neutral format: dd-mmm-yyyy.  US follows mm/dd/yyyy format while India follows dd/mm/yyyy format.  This can cause confusion.
  • All the diffs submitted to http://cr.opensolaris.org or through an attachment must be context diffs or unified diffs. i.e. it should be diff -c or diff -u output.  A plain diff will not do.  You can also attach/upload webrev output which will be more elaborate and suitable for reviews.

All the best!

Tuesday Oct 16, 2007

Contributing to OpenSolaris

Who can become OpenSolaris contributor:

A contributor can be an individual or a company/institution. A copyright in the name of the contributor is placed into the files contributed by the individual. If its a company/institution, then the company/institution will hold the copyright.

How to become OpenSolaris contributor:

Register at opensolaris.org Link: https://www.opensolaris.org/register.jspa

Download Sun Contributor Agreement (SCA). The agreement is available on http://www.opensolaris.org/os/about/sun_contributor_agreement.

Print the Sun Contributor Agreement, fill it and sign it. Follow the instructions on the above link to submit it.

You'll be given a SCA number and your email address will be added to request-sponsor@opensolaris.org. You can also join this alias by sending a blank mail to request-sponsor-subscribe@opensolaris.org.

That's it. You are a contributor.

What to Pickup:

Go through the Communities and Projects page. Follow up on the archived mails, join the discussions to know what everyone is working on. Give feedback. Throw ideas. Comment on the design. Select an area of interest. Start working on it. Check out the documentation on http://docs.sun.com. All the man pages, exported interfaces, configurations (with examples) are available here.

What to contribute:

You can contribute any code that you have written. For e.g. a new driver that you have written, a fix for a bug that you have discovered, an enhancement, new features, anything that you have written.

Some Bugs and Request for Enhancements (RFE) in OpenSolaris are opened up for the community. These are marked with the keyword oss-bite-size. The list of this bugs can be found on http://www.opensolaris.org/os/bug_reports/oss_bite_size. Select a bug you wish to work on. Note that you select one which has a empty "Responsible Engineer" column. Even if a Bug/RFE is marked oss-bite-size, an engineer inside Sun might have picked this up for different reasons (it is part of a project, required for another fix to work, high impact, etc).

You can also search for a bug/RFE of your interest on http://bugs.opensolaris.org and choose to work on it even if its not marked oss-bite-size. These bugs are a bit more complicated though.

Note that the request for sponsorship is sent after the contribution is ready. It has happened earlier that a contributor sends a request for sponsorship while somebody inside Sun is already working on it. With increasing number of contributors, it might as well be another contributor in future.

The status of all contributions can be tracked from http://www.opensolaris.org/os/bug_reports/request_sponsor. All the bugs/RFEs for which a fix has been submitted by an OpenSolaris contributor has a keyword request-sponsor in it.

When you pick up a bug/RFE please not the following things:

  • The Responsible Engineer field of the bug must be empty

  • request-sponsor keyword should not be present in Keywords field. If this keyword is there, then that means another contributor is working on this bug/RFE.

  • http://src.opensolaris.org/source lists many source gates. These are project source gates. The main Solaris gate is onnv. Some of the bugs are against the project gates and some are against open sourced software which is just bundled with Solaris. Make sure the fix for the bug you pick up goes into the onnv gate.

How it works:

Once you have selected a bug/RFE to work on, send a mail to request-sponsor@opensolaris.org stating that you want to work on this bug. Also give a reasonable time frame by which you'll come back with the contribution. This is required because the opensolaris.org page does not track contributors who are currently working on a bug. It only tracks already submitted contributions. One of the members of the alias will verify if another contributor is working on it or any Sun Engineer is working on it. This will prevent duplicate efforts and any disappointment later.

After you are ready with your code change, do a thorough testing. Testing is necessary even if its a small and obvious change.

When you are ready with your contribution, send a mail to request-sponsor@opensolaris.org asking for sponsorship. One of the sponsors would pick up your request and work with you to get your contribution integrated into OpenSolaris. The sponsor will keep you updated on the progress.

request-sponsor alias contains all the contributors and all the \*sponsors\*. The sponsor's job is to mediate with the contributor and commit the contributor's source into OpenSolaris. No, its not monetary sponsorship. A list of sponsors is available at http://www.opensolaris.org/os/community/on/crt/advocates.

Things to keep in mind:

  • License. Your code should not violate any of the license terms. I'm not a license expert to elaborate on that.

  • Please remember that Solaris promises backward compatibility. Any shell script or program written for earlier versions of Solaris MUST work on later versions. Changing the output format of a command, the behavior of its options, systemcall parameters, any documented behavior (manpage, docs.sun.com), is a no-no. Well, this can be done to a minimal level by filing an ARC case.

  • Any new code/modifications that you submit must be tested, even if it is an obvious and simple modification. The sponsor would be verifying your test results as well as performing more tests which are required before integration.

What you need:

  • Solaris

Solaris Express:

This is the official distribution of OpenSolaris. Download this from http://www.opensolaris.org/os/downloads. The starter kit media can be ordered to your postal address from http://get.opensolaris.org.

Solaris Express is available for both sparc and x86. Only 64 bit kernel is available for Sparc version. Solaris sparc does not support 32 bit kernel anymore. The x86 version of Solaris Express can be run in both 32bit and 64bit.

This page lists some more utilities along with it. Solaris and Sun Studio is free. Sun Studio contains the compiler and IDE. If you want to modify Solaris, you'll need it.

512 MB and 5GB is required to install Solaris. If you want to build, modify and test and keep aside another 10GB.

You'll need an account with Sun Download Center. The account is free as well.

LiveCD (optional)

Another way is to install from Belenix (http://www.belenix.org). This is the live CD version and can be installed from the LiveCD itself. Belenix runs 32bit kernel and is available for x86 platform only. Belenix can also be downloaded from a torrent. Nexenta and Schillix are also LiveCD distributions of Solaris(x86).

  • Sun Studio

If you are compiling Solaris source then you'll need this. This can be downloaded from the above link for Solaris or from http://developers.sun.com/sunstudio/downloads/index.jsp. Sun Studio contains compilers and a basic IDE as well. For working on Solaris code you'll need the compilers but the IDE is not necessary. If you are developing your own software, then you can use gcc or NetBeans IDE.

  • Some more download links

Solaris download link and documentation: http://opensolaris.org/os/downloads/on

Solaris source and BFU archives: http://dlc.sun.com/osol/on/downloads/current

Solaris source mercurial repository ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate.

Solaris and other supporting software downloads: http://opensolaris.org/os/downloads

Note that while both Solaris and Sun Studio is available for free, the support service is not free.

The BFU archives are generated for every build and can be used to upgrade a Solaris system. Make sure you read the documentation on how to BFU before using it.


The OpenSolaris Developer's Reference Guide is a must for those who work in kernel land (drivers, modules) or on OpenSolaris source itself. Its a good reference if you are developing your own application as well.

Check out the Open Solaris User Groups on the Projects page. Go through the mail archives and post your questions here for any help.

Building Solaris: http://www.opensolaris.org/os/community/on/devref_toc/devref_4/ and http://www.blastwave.org/articles/BLS-0050/index.html (with screenshots)

Additional Softwares for Solaris: http://www.blastwave.org.

Man Pages and Documentation: http://docs.sun.com

Happy Contributing




« July 2016