0

I understand that Oracle doesn't provide sources for Solaris any more, as was done via OpenSolaris in the past. However, they do offer live CD images.

How much does a system installed with such images provide? I'm interested in Solaris from an academic perspective, such as studying Solaris device driver model. Will I be able to write drivers with Oracle Solaris, assuming that toolchain and libraries are installed? I'm familiar with the pkg tool from OracleSolaris; does it provide all the necessary tools for this, or do I need to pay for a commercial Solaris license?

4

You shouldn't be using the live media for this at all. That creates a new in-memory instance of the OS on every boot, with nothing saved from the previous boot. This means that if you write any code and save it, it is being saved to a RAM disk that will go away when you reboot. You could save your changes to some other system and then copy them back on each boot, such as by using an SCM hosted on another box, but you'd still have to build your program from scratch on each reboot, quite a pain.

What you actually want here is the "Text Installer". This will let you set up a standalone persistent Oracle Solaris installation which you can use for software development and educational tinkering.

If you were looking at the live media because you don't want to overwrite your PC's OS and don't want to set up a separate disk/partition for Solaris, you can install it into a virtual machine, such as Oracle's own VirtualBox. I installed it in a Parallels VM on OS X here to answer this question; it works fine that way.

The text installer results in a fairly minimal classic Unix OS, much like FreeBSD, Ubuntu Server, or Arch Linux. You build up what you want on top of this using the OS's package installer, just as with those other OSes.

After installation, I recommend that you read Setting Up the Application Development Environment in Oracle® Solaris 11. You'll give commands like the following to install the tools, libraries, etc. that you need for your work:

$ sudo pkg install developer/gcc

You may need other packages, but GCC is the only thing that's actually required to build the sample driver in Oracle's Device Driver Tutorial:

$ cat > dummy.c
...paste text from first link above
$ gcc -D_KERNEL -c dummy.c
$ ld -r -o dummy dummy.c

Now you have the actual loadable driver which you can install in the normal way.

As to your question of whether everything you need is present, that's too open-ended a question to be definitively answered. However, I can tell you that this isn't a gimped OS. It's real Solaris. It should be able to do anything a commercial copy could do. The main thing you're missing is simply the right to use the resulting system in a commercial setting. It is possible that the commercial version of Solaris includes some proprietary Oracle tools, but the development version does include all the basics: compilers, OS interface headers, and libraries.

  • Warren, thanks for your your answer. Basically I need environment to start playing with device drivers development in Solaris, so I was wondering if lack of the kernel sources would block me? I hope compiling a driver code in Solaris doesn't require to have kernel source code available, and header files should be sufficient? – Mark Jun 19 '15 at 11:18
  • @Mark: The need for kernel sources to develop drivers is a thing you see only on open-source OSes because...why not? Closed-source OSes necessarily provide a more formalized device driver interface. See the dummy.c example stuff I've just added to the answer. Bottom line: I just built a driver on my Solaris 11.2 VM, so I don't see what else you need. – Warren Young Jun 19 '15 at 11:37
  • thanks again! I was playing with OpenIndiana last week, and I was able to build and load a simple driver, but overall the system looks a bit flaky, for example it refused booting on another PC I had around (even though it's pretty old machine, with a generic motherboard+peripheral, nothing fancy and ultra modern). Therefore now I'm looking towards Oracle Solaris, which I hope will be more stable (?) – Mark Jun 19 '15 at 13:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.