Monday, December 5, 2011
Solaris has traditionally been an operating system designed to run in a small footprint. Early Sun workstations, like the Sun 3/50 required only 4 Megabytes of RAM. The growth of memory requirements continued with the release of each operating system. Solaris 10 was the last commercial Solaris release to support 128Meg of RAM, which Solaris 10 Update 1 reportedly required 384Meg of RAM minimum. This size continues to grow, with added functionality.
There is a release of OpenSolaris referred to as EON or Embedded Operating System / Network. It is small enough to run from a 256Meg flash, but it should be run on a system with 1 Gig of RAM minimum.
An Illumos discussion thread yielded Jerry Kemp, who happened to reference a particular defunct appliance-discussion list where OpenSolaris was running on a Soekris net5501 system. Another system was mentioned to host OpenSolaris, the fit-PC. Jerry also mentioned two different blogs postings from Sun/Oracle's Jim Conners and also a note about Compressed ZFS on ARM port of OpenSolaris.
Jim built one embedded system was a very small platform, but it included 512Meg of RAM. This is hardly small, by any sense of the meaning, but it is physically small!
[2008-11-08] - Physically small platform, 512Meg RAM
Small Footprint Framework:
Jim built a framework which creates a Solaris in-memory installation that will work in an area as small as 60 Megabytes.
[2007-02-07] - Framework to Help Create Small Footprint RAM Resident Solaris
ARM and CZFS:
In 2009, Vineeth Pillai from Sun Microsystems in the Czech Republic presented "OpenSolaris ARM Port and Its Future".
The OpenSolaris port to ARM was announced in June 8, 2009.
It was based on OpenSolaris 2008.05 build 86 and ported to NEC NaviEngine 1. Compressed ZFS is incompatible with ZFS, but more suited for embedded devices.
On June 19, 2009 - it was confirmed that UFS and ZFS were in the ARM port of OpenSolaris.
In June 25, 2009 - NEC contributed ARM code to make ZFS use 8 Megabytes of RAM to run ZFS and 4 Megabytes of RAM for ARC. By Compressing ZFS data structures, they managed to boot OpenSolaris in 16MB of RAM and bring the ARC to 1MB with a 2MB ZFS runtime!
Darren Moffat posed a question in September 28, 2009 about mounting a disk under a QEMU instance of ARM OpenSolaris where Mitsuru Sasanuma replied the NE1 emulator does not implement IDE (SATA) and NIC devices, so hard disk images could not be used in QEMU. CZFS could be used with regular files.
The substantial question of the week is, can we move Illumos to something smaller or bring Illumos to embedded devices for USB external hard drives?