Tuesday, June 8, 2010

EON 0.60 ZFS binary kit snv_130 released!

Here it is finally, the long awaited EON 0.60 binary kit release based on snv_130 and other GNU compiled binaries. Hopefully, it was well worth the wait. I tried to complete all the requests for various packages but was unable to integrate them all cleanly (sabnzbd + dependency python) in this release. I will try to get the missed ones at a later time. It is uploaded in 5 parts. You can download bin-130a[a-e] manually and transfer all 5 files to your EON storage for installation or follow the steps below, which assumes you are using wget from an prior installed binary kit 124. So let's retrieve the files. These steps also assume your EON storage can reach the web.
cd /tmp
wget -O binkit-130.tgz http://i.minus.com/1323745623/7Aw7618NGr6qYvgEXEpkWw/dZLxUEf3SOTLh.tgz
If this is the first time using a binary kit, you will need to perform this step. If you have used previous binary kits, you can skip to the next step.
cd /zpool
mkdir local
This step installs the new binary kit to /usr/local which is linked to /zpool_name/local.
cd /usr/local
gzip -dc /tmp/binkit-130.tgz | tar -xf -
This completes the binary kit install and typing "aria2c -v" should confirm if it worked. Below is a screenshot listing some of the binaries included:
Binary Kit 130 summary:
This does not show powertop and top which have to be manually symlinked for now. See the notes regarding top here. The same is needed for powertop. For 32 bit EON version (To check the EON version you are running, "isainfo -kv"):
cd /usr/local/bin
ln -s ./i86/powertop .
For 64 bit EON version:
cd /usr/local/bin
ln -s ./amd64/powertop .


Fred said...

On your download page where you put you new binaries for 0.60 snv_130 there is a file called freonX.tzg . Can you explain that or tell me where to go to read about it?

Brian Weiner said...

Hi Andre,

Could you give me a nudge in the right direction here?

I'm trying to build my own EON image, I need to add the Solaris mptsas driver so that EON can see my SAS-SATA card...

I've got svn_130 running on the machine currently (on an esata drive). I was hoping to build an image and dd it to a usb flash drive I have internally.

I see references to imgsol.sh (and others) with a 'build script', is this in the eon iso?



Andre Lue said...


FreonX.tgz is/was a port of Freenas GUI I started but abandoned a while back. I believe there are 2 users (Joseph, ??) who took a look into furthering its development but don't know what became of it.


Please see the following posts 1, 2 for the simplest ways to add your own drivers.

Brian Weiner said...

Thanks Andre,

I had looked at the first link, but for some reason was fairly fixated on method 3...

That post, plus some of the comments - I think got me back on track. I'll post a follow up later tonight once I'm home from work.

Does this final command 'pack x86-new.eon' create the new bootable image?

Thanks again for all your work with this project, I hope to contribute some additions to napp-it once I'm more familiarized.

Andre Lue said...

Hi Brian,

Yes, the pack x86-new.eon command builds the new bootable image with the additions injected from /mnt/eon0/.backup.

Thanks for your feedback.

Ken said...


Any issues with updating EON to snv_134 or snv_138?

Brian Weiner said...

I get a permission error from lofiadm when I try and run unpack.

Brian Weiner said...

Okay.. I was unfamiliar with pfexec. Back on course.

Manojav said...


What tools are available for monitoring the system. Fan speed/CPU temp etc? ala. lm-sensors

i know 'hd' gets the hard disk temps which is good.


Andre Lue said...


I think the only tools for such on Opensolaris is FMA. I do not know of lm-sensors working on Opensolaris.

Brian Weiner said...

/boot/solaris/bin/root_archive[711]: cd: ./tmp/root: [No such file or directory]

I receive this error after I run the pack command. It creates the x86-new.eon and it's slightly larger than the original, is this something I can ignore?

Andre Lue said...

Hi Brian,

That error is not ok to proceed. Looks like you are attempting method 1 on EON? Method 1 is intended to be done on a full opensolaris install if you intend to run root_archive.

Brian Weiner said...

I installed osol-dev-130-x86.iso from http://genunix.org/distributions/indiana/ Is that incorrect?

If i create a /root directory in /tmp it runs without an error but the resulting image crashes after grub.

Andre Lue said...

Hi Brian,

Any Opensolaris release snv_98 or higher should work for the unpack/pack but to be clear EON was tested/built on snv not osol.

I'm not sure what root directory creation in /tmp does but if it repacks correctly it should boot fine.

Can you start a thread and list the steps you are taking in detail? Also confirm you are adding the package/drivers from SUNWmptsas?

Brian Weiner said...

Well that would explain a lot. I guess I was thrown off since Solaris doesn't offer the Nevada image on their servers any more.

I found http://www.sunfreepacks.com/ which would seem to be correct? But I can't seem to actually get a complete download from them.

Brian Weiner said...

Usings Sun's Download Manager is offering more success, just requires patient (and numerous retry/resume)

I'll be sure to update if the process works properly with this iso. I'm optimistic it will work.

Andre Lue said...

Hi Brian,

That's sounds like an uphill battle. I didn't even realize snv_130 was still available. If you are just trying to add SUNWmptsas it shouldn't be this challenging.

I would recommend:
1. editing the root_archive file on osol to run verbose. Change
#!/bin/ksh -p
#!/bin/ksh -px


2. transfer the /usr/sbin/root_archive from EON 0.60 to your osol machine and try to pack/unpack with that.

Brian Weiner said...

So I have an SXCE snv_130 iso. On the cd I found the SUNWmptsas folder - I took that and used 7-zip to extract. MPT_SAS.CONF was not in that archive, but in a different folder within SUNWmptsas.

Tried method for adding driver in running EON. Copied mpt_sas, mpt_sas.conf /amd64/mpt_sas to /kernel/drv. Ran add_drv, get an error that it installed but failed to initialize.

I'm going to try to build the app inside SXCE, I'll post results.

I also tried to add IPS via the method on this blog, but it didn't seem to like pkg.opensolaris.org as a valid address. It can access the internet/network otherwise.

vertex_vr4 said...

Hi Andre,
The local opensolaris user group have requested that I do a talk on EON. I was wondering if you would be able to provide me with a bit of info on the architecture - specifically how the boot process hangs together.

Andre Lue said...

Hi Vertex_vr4,

It is built using the same techniques, matching kernel and boot (grub) alignment bits as boot_archive. The difference is, EON will run from ramdisk so all the dependencies for the services included will have to be included to avoid race conditions at boot.

After that, the boot chart gives a visual of initialization timeline.

jogger said...

Hi Andre

During installing vscan into EON server. I following your link "Clam Anti-virus using vscan on ZFS". But not working.

Then, i found out that EON is not vscan service installed. So, i copy all file of SUNWvscan from Solaris Exp snv 114 image to the EON snv 130 server. Here captured messages in /var/adm/messages:
... /kernel/drv/amd64/vscan: undefined symbol
... WARNING: mod_load: cannot load module 'vscan'

My question is how to install vscan successfully?


Andre Lue said...

Hi Jogger,

I'm not not sure but at a minimum I think the following packages are needed:
i_cap binaries

The error seems to hint the vscan module contain symbols that are not known by the 130 kernel. Which probably means a recompile against a 130 system is needed.

jogger said...


Could you show me how to compile against 130 kernel?

Andre Lue said...

Hi Jogger,

It's probably easier to use the package from the snv_130 download.

I would have to attempt the compile to be able to say what the settings would be. At a further glance

Are more the packages needed. SUNWvscanr simply contains the xml startup files that simply call /usr/lib/vscan/vscand which you could add to /mnt/eon0/.exec.

jogger said...


How lucky i am? I google a site http://www.sunfreepacks.com where can download Solaris express 130.

During installation, I suggest guys who want to install vscan into EON server. You should copy all files from SUNWvcanu, SUNWvscanr, SUNWvscankr to root directory. I means RAM directory not zpool directory. If installed most file into zpool directory, it will generate error and vscan service go maintenance mode.

After solving the problem, vscan service startup smoothly.

At last, thank Andre. Your words save many hours of trail and frustration.

Orz said...

I am new for EON storage. I like to add some add-on on it, like lighttpd、php、freonX…on the download page. But i don't understand the stucture about EON. I don't know how to start. Will you write a document about it? Thanks!

Andre Lue said...

Hi Orz,

Adding the binary kit gives you php and lots of other binaries listed in the post.

See the lighttpd, nginx posts on how to add those. You also search for posts via upper left hand search box. Hope that helps.

ìgbàlonígbàńlò said...

Okay I get that I need to get the driver files from snv_130 but I can't find where to download that from. Do you happen to have a link or can I use the driver files from oracle (ugh) solaris 10 10/09? Thanks

Andre Lue said...

Hi Igbalonigbanlo,

You can get snv_130 here at www.sunfreepacks.com or direct link

ìgbàlonígbàńlò said...

Thanks for the link. I got the driver added via cpio -idumBv < none for both mr_sas and mpt_sas as I wasn't sure which one the lsi 9211-8i hba uses.

However I got a "driver installed but failed to attach" response with add_drv -v. Thinking this might not mean much I rebooted but it fails to load the card.

I just went through the thread and I see that Brian is trying to do the same thing.

@Brian Were you able to get the mpt_sas driver loaded correctly? If so what did you do.

ìgbàlonígbàńlò said...

I got it working. I just had to run the postinstall script included with the package, then updated the eon image and rebooted. My lsi hba was recognized after that, with all my hdds showing up. Thanks. Great work you've done here Andre.

jogger said...


How to remove files from the EON boot image?

For example, if adding a file /etc/notrouter. Once updimg.sh to the flash drive, I cannot figure out how to remove it from next boot.

Andre Lue said...

Hi Jogger,

You would have to insert a pause in updimg.sh and then simply continue after you are done removing the files, prefixed by /mnt/upd. So you would remove /mnt/upd/etc/notrouter.

See this post for the steps from Method 2 -> roll_back section

jogger said...

/mnt/upd is nothing inside if inserting a pause:
roll_backup $UPDLOC/$IMGROOT/$IMG
echo -n "Press enter to continue after adding drivers " ; read x

However, it work if move the inserting point to:
echo -n "Press enter to continue after adding drivers " ; read x

Dave said...

Hi Andre,

Apologies in advance for what may be a stupid question... In the instructions for installing the binary kit, you have two lines:

cd /zpool
mkdir local

My question is this: why "mkdir" rather than "zfs create"?

Does the answer change if I say that up to this point I have only created a pool and then used "sbdadm create-lu" to create an iSCSI volume?

Also, am I correct in assuming that comands to create symlinks should be added to /mnt/eon0/.exec followed by a updimg.sh?

Finally, on an Intel SS4200 NAS, the IDE device is hidden on a regular boot--do you know of a way to make it visible (other than to always boot while depressing rest)? I've done a lot of searching and haven't come across a solution.

Thanks for all your hard work on EON!




Andre Lue said...

Hi Dave,

mkdir or zfs create for /pool/local, either is perfectly fine. I did the simpler (mkdir) but they both have pros and cons. A couple of pros with zfs create, I can make snapshots, compress and roll back if there is a mistake occurs.

Symlink entries added to .exec do not require updimg.sh to preserve they are created at time of boot.

If you wish to preserve symlinks with updimg.sh the symlink entries should be added to .backup. Personally I use .exec because it is simply more dynamic but my dev environment is always in a constant state of change.

Regarding the intel SS4200 and hidden IDE drive, intel did that on purpose. I do not know of a way around it. I have not seen one on this informative thread either.

Thanks for your kind comments

Peter J. Lu said...


With all of the uncertainty regarding the future of OpenSolaris, do you think you might be able to post an update on the future of EON? Could you, for example, get it working with IllumOS? I've deployed EON successfully in a number of places, and want to make sure it will be maintained, have bug fixes and updates, etc. etc. Thanks!

Andre Lue said...

Hi Peter,

It's too early to say, will have to wait and see what Illumos brings.

The last release of EON is pretty solid. Hopefully it bridges the gap until Illumos bears fruit. How many installs are you concerned with?

Peter J. Lu said...

Thanks for your reply. I've started deploying a few more installations (I've got two I use daily). Basically, it's faster to use an old computer running EON (or Nexenta) for dedicated storage over the network, than running local drives, and allows me much for flexibility in switching (i.e. rebooting) to different OSes, while having access to all of my data.

One quick question: what do you think that EON offers over Nexenta? I've been playing around more with Nexenta, and it seems pretty similar underneath the hood (to be expected), but makes it a little easier to manage sharing and networks, etc.

Sebastian said...

When I attempt to "cd /usr/local" the system states no directory exists. However when I "ls" I see the directory in /usr.

What am I missing?

Andre Lue said...

Hi Sebastian,

It sounds like the binary kit is not installed as /usr/local is symlinked to your /zpool_name/local.

jogger said...

I have many documents, most of them are pdf or word files. One of headache is i can never an easy task finding needed info. as Vista indexing service. It never possible to search as convenience as inside Vista where indexing all stuffs automatically. I think this is great feature.

In EON, would i possible adding something that can provide similar feature for indexing. So i can access through IE or any means. Or any package aim for this problem.


Andre Lue said...

Hi Jogger,

I don't currently know of a unix/EON based solution but I have used the following and they appear in order of preference:
-Copernic Desktop (current)
-Google Desktop (didn't like the browser based interface and exclusion of sub dir trees or lack)
-Windows indexing (which you mentioned)

There is also X1 but I have not tried this one because there was always a memory intensive mention with it. Hope that helps.

A.W.S. said...

I'm having a little trouble with the binary package. I can get it installed properly, but the /usr/local link to /tank/local is not suruving a reboot. Here's what I'm doing:

- load a new Solaris/Open Solaris 64 virtual box vm and boot it from eon-0.600-130-64-cifs.iso

- run: "/usr/bin/install.sh" (I find that I have to run install before setup to properly survive the reboot with setup config in place)

- reboot from disk. (Note: at this point /usr/local is a link to ../../abyss/local even though there is nothing there.)

- run: "/usr/bin/setup"

- run: "/usr/bin/updimg.sh /mnt/eon0/boot/x86.eon".

- reboot

- create a new zpool with "zpool create tank {dirves}"

- create local dir with "zfs tank/local"

- "/usr/local" still points to "../../abyss/local". I remove that link and then create a new symlink with "ln -s /tank/local /usr/local"

- Extrat and install the binary contents to /usr/local. Everything is there, installed and working properly.

- run "updimg.sh /mnt/eon0/boot/x86.eon"

- reboot.

At this point /tank/local still has everything in it, but /usr/local is still pointing to "../../abyss/local". In order to use it as expected, I have to "rm /usr/local" and then "ln -s /tank/local /usr/local" again.

Someone above mentioned a post install script, but I don't see that. Can you help me figure out what I'm missing?

A.W.S. said...

I figured out one way to deal with /usr/local not staying attached to the proper zpool and surviving a reboot.

Base off another post, I looked in the /mnt/eon0/.exec file and discovered that there is a line there that defines pool names. Here's what I did to make the change.

First thing: you need to change the .exec file to be writable:

chmod u+w /mnt/eon0/.exec

Then, open it for editing with vi.

vi /mnt/eon0/.exec

Now, look for the line:

export POOL=abyss

and change it to the zpool name that you have. In my case the zpool I created was "tank", so I changed it to:

export POOL=tank

(If you are unfamiliar with "vi", the easiest thing to do is use your arrow keys to position the cursor at the end of the line and then hit "x" to erase all the letters you need to remove. You'll end up with the cursor under the "=" sign. At that point, hit "a" to move to append mode and type in the name of your zpool. When you are done, hit the escape key, then type ":wq" without the quotes and hit enter.)

After making the change above, and rebooting, /usr/local has the binary package linked via /tank/local as expected.

I'll let Andre comment if there is another/better way to do this, but so far that worked for me.

Andre Lue said...

Hi A.W.S,

You used the POOL definition, exactly the way it was designed. Your own pool name should replace "abyss" at the line:

export POOL=abyss

You can skip the chmod step by using ":wq!" in vi to save the changes to /mnt/eon0/.exec.

Also, the nano editor was included in the binary kit as requested by many users, as a simpler editor.

David said...


It seems like the .exec just stopped executing after this change. Do I have to set permissions back to 444 or something?

Andre Lue said...

Hi David,

The .exec file doesn't actually execute it's read and run at "run level 3" of the boot phase so the mode doesn't matter as long as it's readable.