Sonos is a fantastic product that makes it easy to set up whole-house audio in a piecemeal fashion. I started with one speaker, then a couple weeks later was up to 4 speakers, and a couple months after that the whole house is equipped with enough speakers for music to be heard anywhere.
In order to stream your own music collection to Sonos, it must be available over the network using a supported protocol - sadly at the time of this writing NFS is unsupported by Sonos. In order to get Sonos up and running on my network, I setup a cifs/samba read-only share with my music collection inside a SmartOS zone.
create the zone
To create the zone you have to first create a JSON manifest to be used by the
vmadm(1M) command. This is the JSON manifest for the
cifs zones called
cifs.json I used. The
filesystems array mounts in
from the Global Zone to
/entertainment inside the zone. I do this because my
entertainment directory is used by multiple zones - for example my
uses it to share my plex library.