All proceeds from Ad Clicks goes to the author of this site.

 

Saturday, August 05, 2006

Poor man’s Thumper

This is copied off the ZFS-discuss list; it describes a micro version of Solaris that is being worked on that will live on 60MB flash drive, its in development. It boots in 45 seconds. Solaris’s state doesn’t reside on the storage, so it’s stateless pull the plug and all is safe.




> Out of curiosity, why are you trying to do this?



> Out of curiosity, why are you trying to do this?
>
A very valid question, I work in Sun's OEM Software organization, and for the first time we are seeing real opportunities for Solaris as an embedded OS for appliances. Countless Linux devices boot from flash in a matter of seconds and just work. Why can't Solaris do the same thing? We are being asked by our PC OEMs for ideas as to how Solaris
might fit in this market. This is admittedly an exercise; we need to become more knowledgeable about embedding Solaris and I was looking for an application that is currently unique to Solaris, and thought I'd take a crack at creating a "poor man's thumper". So currently:

o I've got a modified Solaris miniroot with ZFS functionality which takes up about 60 MB (The compressed image, which GRUB uses, is less than 30MB). Solaris boots entirely into RAM. From poweron to full functionality, it takes about 45 seconds to boot on a very modest 1GHz Cyrix Mini ITX motherboard.

o As Solaris runs entirely in RAM, there is no Solaris footprint on the attached storage. It is entirely dedicated to ZFS. With a little kludgery, all state can be managed from ZFS in effect making Solaris stateless. There should be no serious ramifications to pulling the plug on this device. In fact that's pretty much how this thing is rebooted
right now.

o As a potential example, one might consider managing this device via a web-based interface, perhaps not all that different than the way you might manage say, a Linksys router.

Yeah I know this is silly, but it's fun. Time to get back to my real job
-- Jim Connors

10 Comments:

Anonymous clee said...

That's pretty sweet.

Where can we find this 30MB compressed filesystem image? :)

11:42 AM  
Anonymous Anonymous said...

A link would be very nice... I can see solaris taking a decent foot hold this way. No risk in trying it on your system then.

5:43 AM  
Anonymous Anonymous said...

Solaris for computers with 64MB of RAM would be priceless. I can't understand why it uses so much RAM, while Linux... oh, you know what I mean! This memory requirements discourages people from using Solaris on old or low end machines, used as thin clients, shop terminals etc. This is quite a big market though.

10:23 AM  
Anonymous Anonymous said...

if it is possible I think something that small would do nicely for a firewall image.. it will be sure to compete with Cisco Pix, netscreen, and etc firewall appliances and will make unix shops very happy to run a solaris fw product instead of what they consider the industry standard..

10:54 AM  
Anonymous Anonymous said...

it will be sure to compete with Cisco Pix, netscreen, and etc

Oh yeah...because all the unix firewalls based on OpenBSD, NetBSD, Linux, etc., have definately knocked the wind out of the commercial firewalls. And it's not like Checkpoint runs on Solaris. Oh wait...

When will ignorant fanboys understand there's a reason that Pix, Netscreen and the rest are around.

3:16 PM  
Anonymous Anonymous said...

nice but we all want to see a link to the binary ;-)

I am building a 7 RaIDZ NAS server and this build would avoid me to use the huge Nexenta or belenix iso to boot this server

thanks
Cédric

www.waltercedric.com

4:26 PM  
Anonymous Anonymous said...

This is very welcome, but it still seems huge to me. Is this because its not stripped down to use 'crunched' utilities etc? Or that it still has the complete kitchen sink of internationisation support and so on?

3:20 AM  
Anonymous Anonymous said...

Whoa Dudes. I just want to make sure that you know this is just a little pet project. This is not sponsored by Sun. Here are some notes:

o Boot from USB flash is hideously slow on this system, so I currently do a network boot. With faster flash RAM, the 45 second boot should be easily achieved

o A Stateless OS is the ultimate goal, but in reality some state has to be preserved across boots (e.g. ssh keys, /etc/zfs/zpool.cache ...) So I've got a separate small ZFS pool to store this info.

o In terms of footprint, granularity is on a Solaris package basis. The only signififcant thing done to reduce size is to remove the amd64 binaries (which is big). So there's a big opportunity here to save lots more space.

o I won't be releasing any binaries for a myriad of reasons, the most important being there is some hardware specific stuff (e.g. specific ethernet drivers) that only pertain to a limited set of systems. However, either by myself or someone else, we'll give you an idea as to how to create an embedded Solaris from which you could modify to your own needs.

-- Jim Connors

3:26 PM  
Anonymous Anonymous said...

Don't know where the "30MB" image is, but the following provides some 'shrink' routines.
Part 1: http://solaristhings.blogspot.com/2006/07/how-small-can-you-make-open-solaris.html
Part 2: http://solaristhings.blogspot.com/2006/07/how-small-can-you-make-open-solaris_08.html
Part 3: http://solaristhings.blogspot.com/2006/07/how-small-can-you-make-open-solaris_16.html
Part 4: http://solaristhings.blogspot.com/2006/07/how-small-can-you-make-open-solaris_21.html

6:11 PM  
Anonymous Anonymous said...

I finally got around to posting a blog discussing and providing a minimial Solaris miniroot framework. If you're interested, check out http://blogs.sun.com/jtc

-- Jim C

9:19 AM  

Post a Comment

<< Home