October 21, 2010

NCP 3+

The past few months have been quite hectic for the Nexenta project, and upstream OpenSolaris in general. A fork, Illumos, has become the new home of the OpenSolaris community. We've also been deciding on how to better work with userland upstream, and what that is going to be.

Below are specifics about various components.


NCP4 will start using Illumos-gate as the base. The current build is b147.


We've had multiple discussions on which userland to choose going ahead.. the options being Ubuntu LTS or Debian. In the initial phase, we have decided to use Debian Sid as the base. (This isn't set in stone.. but given the effort invested in this direction by StormOS, it makes sense to utilise these packages).

Also Nexenta will no longer remain a full Debian/Ubuntu port.

The NCP project was started to provide a familiar system to a Linux user migrating to OpenSolaris, to get the advantages ZFS, Dtrace, and other technologies. This involved providing

  • The apt package system. SVR4 was too different to be comfortable
  • GNU commands. Sun's command line was different, and did not support the same switches that a linux user would be familiar to.

The latter of the above is no longer true. Over the past 5 years, the OpenSolaris commandline has improved, and added support for these missing switches, and is generally the same as GNU command set.

So NCP4 will default to using Illumos commands by default. It will also default to the Illumos libraries and packages provided by Illumos. We will be closer to an upstream in active development, and optimised for solaris.

As to the userland, StormOS has made significant progress in porting many Debian sid base packages. We intend to work with these packages to get basic NCP4 going. The initial focus of NCP will be to port enough package to build a solid ZFS platform. Binaries provided by Illumos will be packages. Those packages not provided by Illumos (apt/dpkg/etc) will be ported from Debian/Ubuntu. The GNU build tools will be ported.

So, NCP4 will

  • Be an Illumos based distribution
  • Use Illumos command by default
  • Packages and libraries provided by Illumos
  • Port any other required packages from Debian.
  • /usr/bin - Largely Illumos commands.


NCP has long had the SUN_PERSONALITY environment switch that allowed for forcing a Sun Solaris environment. This was via a patch to execv. This feature of NCP will be discarded. While it provided for a way to shift between commandline ecosystems earlier, it was a hackish solution, and in light of the above changes, no longer makes sense.

NCP will, as ever, be fully open to community development. Build your favourite package, and make it available via the repository. This time around we also have the powerful auto-builder.

Join in

If you have any questions, feel free to join into the discussion on the developer mailing list, and our IRC room at #nexenta on freenode. And stay tuned for more updates.