News, tips, partners, and perspectives for the Oracle Solaris operating system

How low can we go ? (Minimised install of Solaris 11)

Darren Moffat
Senior Software Architect

I wondered how little we can actually install as a starting point for building a minimised system. The new IPS package system makes this much easier and makes it work in a supportable way without all the pit falls of patches and packages we had previously.

For Solaris 11 I believe the currently smallest configuration we recommend is the solaris-small-server group package.

Note the following is not intended to imply this is a supported configuration and is illustrative only of a short amount of investigative work.

First lets look at a zone (it is easier since there are no driver issues to deal with):
I discovered it is possible to get a 'working' zone by choosing a single package to install in the zone AI manifest and that package is:pkg:/package/pkg

That resulted in 175M being reported as being transferred by pkg. Which results in 255M on disk of which about 55M is /var/pkg. I had 140 'real' packages (ie excluding the incorporations).
We have 71 online SMF services (nothing in maintenance) with 96 known SMF services.
Around 23 processes are running (excluding the ps I used to check this and the shell I was logged in on).

I have discovered some potential packaging that could result in this being a little bit smaller but not much unless a break up of pkg:/system/core-os was done.

Now onto the bare metal install case.
This was a little harder and I've not gotten it to where I wanted yet.

Ignoring drivers the only thing I needed on an x86 system was:pkg:/package/pkg and pkg:/system/boot/grub

Which is good and not really different from the zones case.
However that won't produce a bootable system - even though it produces one that will install!

To get it to boot I took the list of all the network and storage drivers from the solaris-small-server group package.  I removed all the wlan drivers and also any drivers I knew to be SPARC only.   My list of packages in the AI manifest had 113 driver packages in it.
That got me a bootable system, though not one minimized with respect to drivers.

We have a few more processes in the global zone (again ignoring the ps and my shell) this time I counted 32.  This came from 89 online services. Again ignoring the incorporation packages  I had 161 packages installed of which 73 were in the pkg:/driver namespace.

The disk space footprint is much bigger at total of 730M - but remember I've likely installed drivers that I might not need.
This time /var/pkg is 174M of that.

Join the discussion

Comments ( 4 )
  • Darren Moffat Wednesday, December 21, 2011


    I was not doing minimisation from the view of how small a machine I could use so I didn't pick a physically small machine. This is minimisation from the view of "the less I have on disk the less updates I have to do so the less maintenance windows I'm likely to need for security patches".

    I don't have a step by step process for triming down the bare-metal because as I said that is not what I've done, I took all the drivers from solaris-small-server and removed those I knew belonged only to SPARC and left it at that.

    Solaris 11 does not run on ARM. There was an effort under OpenSolaris to do so but that appears to be defunct.

  • UX-admin Wednesday, December 28, 2011

    "I removed all the wlan drivers and also any drivers I knew to be SPARC only."

    Why did you have to do this explicitly? Can IPS not do this automatically?

  • Darren Moffat Tuesday, January 3, 2012

    UX-admin, IPS doesn't know that I don't want wlan drivers it can't (and shouldn't) know I don't currently have a removable USB WLAN driver plugged in. IPS is a packaging system not a device driver management tool. It might be nice if we had AI determine which driver packages are relevant to the hardware we are currently installing on but that isn't a job for IPS.

  • David Huffman Tuesday, February 14, 2012

    We needed to strip down the OS to make CDROM & network boot media that is used for bare-metal recovery (basically a replacement for flash archive). We were able to get the image down to 200MB on SPARC and a tiny 70MB for x86. I know the Milax guy was able to get OpenSolaris down pretty small too. I think he was under 170MB for SPARC.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.