Skip to end of metadata
Go to start of metadata

A few weeks ago a question was asked on the illumos-developer mailing list: how to simply get building illumos, starting with an empty VM and access to the Internet?

There are documents which describe how to build the Linux kernel in 10 simple steps for a given Linux distribution. If you compare such a document to How To Build illumos or even the overview page on Building illumos and OpenIndiana then you can start thinking that Linux is much simpler and easier to develop on. Didn't anyone make such a 'cookbook receipt' for building ON on OpenIndiana yet?

There indeed are several pages worth of detailed instructions on how to build illumos-gate (OS/Net kernel) and OpenIndiana userland, but in all those added details was lost the simplicity of the process, sought by newcomers to the project. Those documents are good for in-depth understanding and advanced development, but they scare off our potential helpers.

So, here goes an attempt at a simple instruction, or, rather, a "map" to existing texts (smile)

10 steps to building ON on OpenIndiana

  1. Pick one of those ISO/USB installer image editions in the downloads section on or – a "Desktop" (Live CD) would give you X11 GUI right away, while a "Server" (Text installer) one goes without X11. Otherwise the OS is identical and both editions can be turned into one another by adding/removing packages. You might want to start with an X11 Live CD edition, if only to have all the general libraries installed and then you can disable auto-start of X11 and use the system via SSH.
  2. For actual compilation work you'll need many packages (fetched from Internet for casual users, more tricks needed to have and use a local repository mirror), copy-paste that huge one-liner from the first section of How To Build illumos.
  3. Pick your compiler suite. Since you're likely new to the project, you probably don't have the specific correct legacy version of Sun Studio compilers, so go on with the sections on installing GCC and building without Sun Studio
  4. It is recommended, but not required, to use local zones and specially structured build datasets in order to be ready for realistic work on several bugs and so on. Those are advanced topics, however, i.e. likely not for newcomers, and you can return to this later – and then roll out a better engineered (and more difficult) installation, or even transition your current VM's data into that more industrial setup, disk space permitting.
    If you just want to get the setup done quickly, especially on a disposable VM, you are not required to jump through those hoops and can just "mkdir /code".
    Still, copy-pasting the lines to create the nice zfs dataset structure for illumos-gate workspace right away is not that hard, is it? (wink)
  5. Check out the illumos-gate sources with an SCM of your preference – Mercurial (hg) or GIT, and get the closed binaries.

Now, keep in mind that the ON (the illumos-gate source-code repository) is not the whole OS. It is just the core piece shared by all distributions.

Much of the non-core system and outright third-party software lives in other consolidations, such as illumos-userland. That has its own repository and compilation routine, detailed in Building with illumos-userland.