FAQ

What is EON?

Embedded Operating system/Networking is a small operating system, built on Solaris, designed to store any amount of digital data on Intel/AMD (x86) hardware, using the amazing, enterprise class Zettabyte File System.

Why use EON?

Because it offers rock solid, reliable, enterprise featured storage, with unlimited filesystem snapshots(version-ing or rollback points), transparent filesystem compression and de-duplication (duplicate elimination). Using EON, minimizes OS administration and makes the OS virtually disposable.

What is the licensing on EON?

EON is free to use, copy and redistribute for personal use. Business or any other use, must acquire proper consent or contract agreement. If you are a business, consultant, reseller or integrator please acquire the proper license agreement to use EON (eonstore @ gmail dot com).

What kind of operating system is it?

It is built using the "rock solid" Solaris Express Community Edition (SXCE) OS, codenamed "Nevada". Since version 1.0, it is built on the "enterprise class" Illumos OS.

What filesystem does it use to store data?

EON uses ZFS (zettabyte filesystem) created by Sun Microsystems (R.I.P. January 27, 2010).

Why are there 4 versions?

EON is available with Samba or CIFS as your SMB (server message block or windows share) server. Then they both have 32 and 64-bit versions.

What is the difference between the available versions?

The Samba and CIFS version, are available in 32-bit and 64-bit versions. The 32-bit version allows for ZFS on older hardware, while the 64-bit version allows for larger (practically boundless) storage pools on newer, higher performance 64-bit hardware. The min versions do not include a web server.

Which version is right for me?

If the hardware's RAM is 1GB or less and hard disks are 750GB or smaller, the 32-bit image is more fitting. If the hardware supports 64-bit, RAM is 2GB or more and hard disks are 1TB or larger then the 64-bit image is more suitable.

What are the default EON login usernames and passwords?

There are 2 user accounts by default. These passwords should be changed once you get started.

user: admin passwd: eonstore

user: root passwd: eonsolaris

How do I change the password for a user?

Login as user "root" and type (substitute admin/root for the username you wish to change):

passwd username

Does it support link aggregation?

Yes

Does it support multiple CPU's. How do I see how many CPUs are online?

Yes.

psrinfo -v

kstat -m cpu_info

How do I enable virtual consoles?

EON supports virtual consoles, to enable them run the following. Alt-F1, F2, FX for the respective console:

First, import the services

svccfg -v import /var/svc/manifest/system/vtdaemon.xml

Then, enable them

svcadm enable vtdaemon

svcadm enable console-login:vt2

svcadm enable console-login:vt3

up to (6) but keep in mind this uses memory and leaves less for ZFS

svcadm enable console-login:vt6

How do I create a ZFS swap?

This is highly recommended and will create a 2Gb swap, on a zpool named pool and with a swap named swap.

zfs create -V 2G pool/swap

swap -a /dev/zvol/dsk/pool/swap

Why can't I telnet to EON?

EON does not support telnet because of size and security reasons. A ssh client is needed to login.

Where can I get a ssh client for windows?

There are many ssh clients. You can try putty for free.

Why can't I login via ssh as root?

EON defaults in /etc/ssh/sshd_config does not permit root login for security reasons. To change this, edit the line "PermitRootLogin no" to "PermitRootLogin yes". This has security implications you should try to understand before doing this out of convenience.

Why can't I ftp to EON?

EON supports sftp, it does not support ftp.

Where can I get a sftp client for windows?

You can try the opensource and free winscp sftp client for windows.

Where can I get a ssh client for Mac OS X?

Mac OS X comes with a ssh client. Simply open a terminal and type ssh admin@EON_IP_address.

My computer hangs or reboots while booting EON?

Could be a host of reasons. To figure out what is/may be going on, press 'e' at the boot splash screen. Highlight the following line and press 'e' once more.

kernel$ /boot/platform/i86pc/kernel/$ISADIR/unix

change/append the entry

  unix

to

  unix -m verbose

or for more verbosity

  unix -v

press 'enter' then 'b' for boot. Then report as closely or screen shot where booting hangs or fails.

Also try to boot in stages(try 1, if it succeeds then 2, etc) to see how far booting progresses.

1 unix -m milestone=none

2 unix -m milestone=single-user

3 unix -m milestone=multi-user

Why do I need to burn the eon.iso file to CD if I want to install it USB, compact flash or hard disk?

Currently the simplest method/requirement to install EON to USB, is using the install.sh. This is run from the ISO image after being burned to CD. You can also use any machine that supports booting EON to install to the destination media, even if it is not the machine EON will run on.

Is there another way to install EON without burning a CD?

Yes, it requires a virtual machine (VirtualBox, VMware, etc) that supports USB devices. Then, boot the VM with the downloaded eon.iso and run install.sh and select the USB drive as the destination.

Is there a way to get EON installed to USB, compact flash or hard disk from windows?

Yes. I would have to release the images in .usb format and then using Hiroshi Chonans live USB creator, write the image to USB directly from windows. Converting them from .iso to .usb requires a unix system as far as I know.

How do I start NFS server services?

First, import the services

cd /var/svc/manifest/network

svccfg -v import rpc/bind.xml

svccfg -v import nfs/status.xml

svccfg -v import nfs/nlockmgr.xml

svccfg -v import nfs/mapid.xml

svccfg -v import nfs/server.xml

Then, enable them

svcadm enable -r nfs/server

or individually

svcadm enable rpc/bind

svcadm enable nfs/status

svcadm enable nfs/nlockmgr

svcadm enable nfs/mapid

svcadm enable nfs/server

How do I start NFS client services?

First, import the services

cd /var/svc/manifest/network

svccfg -v import nfs/client.xml

Then, enable them

svcadm enable nfs/client

How do I rename a zpool?

Stop all I/O traffic to the storage and export the zpool. Import the pool with the new name and verify.

zpool export poolname

zpool import poolname newname

zpool status -v (to verify the newname)

How do I check internet time sync?

ntpq -pn

ntpq -c associations

ntpq -c ntpversion -c version

ntpq -crv

Where can I get the driver that matches the snv_xxx of EON?

You can get the proper driver from the snv_xxx (example: eon 0.59.4 based snv_124) CD/DVD iso image.

How can I download the snv_xxx CD/DVD. That version is no longer available for download?

Changing the version (114 in this case) to the number you want in the download URL currently works. I do not know if this will continue to work.

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=Sol-Express_b114-FULL-x86-SP-G-B@CDS-CDS_SMI

I've got the CD/DVD iso image, how do I get the driver/file I want?

This requires software that can browse/open iso files (ex: winrar, Mac OSX does not require added software to open). Navigate to SOLARIS_11 -> PRODUCT. There you'll see folders of the form SUNWxxxx (ex: SUNWrge). Navigate SUNWxxx -> archive and you will see none.7z. Then unpack this file with 7-Zip

How can I add a driver to eon?

There are many ways to add a driver to EON. Here i'll assume the drivers are already transferred/uploaded to EON. Let's say we are adding the Realtek gigabit ethernet driver which is in package SUNWrge. Most drivers contain files of the form below(some drivers may not contain a conf, or a 32/64-bit file). After putting the respective pieces in place, add the driver path entries below (needed 1 time only to add to the new image) to /mnt/eon0/.backup. You may also need to add /etc/driver_aliases to /mnt/eon0/.backup and edit /etc/name_to_major adding rge, if not already there, with a unique number (example: rge 61). When everything has been confirmed to be working, run updimg.sh to preserve the new driver addition(s).

driver path(s) bit

/kernel/drv/rge 32-bit driver

/kernel/drv/rge.conf driver.conf

/kernel/drv/amd64/rge 64-bit driver

I can't find pkgadd?

The pkgadd binary is not included in EON as it is a fairly large binary set, with large library and database dependencies. This including the package database to know which packages are installed and dependencies increases the memory footprint beyond the current engineering specifications.

So, how do I add packages?

You can either compile the needed binaries or you can use the IPS packaging system. As of release 0.59.2 there is a binary kit. You can also roll your own binary kit and symlink /usr/local to its location on /zpool/local.

Where/how can I add a binary or binaries?

There are a couple of ways. The preferred way is to create a symlink from /usr/local or /opt/local to /zpool/local and unpack the binary kit in /zpool/local. The /zpool/local directory should then contain bin, sbin, lib and etc. This method adds binaries to the storage pool, versus eon's size. The drawback is not all packages are this simple to add and some have a complex library dependency scheme. Binaries that rely on isaexec to properly fork the 32 or 64 bit versions, have to be manually linked.

How do I see the status of the network interface?

ifconfig -a

How do I see the DHCP state of the interface?

For interface e1000g0

ifconfig e1000g0 dhcp status

How do I manually configure an IP address?

For interface e1000g0, IP 192.168.43.28, netmask 255.255.255.0

ifconfig e1000g0 192.168.43.28 netmask 255.255.255.0

How do I add permanent routes?

Use the -p switch, which adds the entries to /etc/inet/static_routes. Then run updimg.sh to preserve the static_routes file. See example format(s) below:

route -p add 192.0.2.32/27 somegateway

route -p add 192.0.2.32 -netmask 255.255.255.224 somegateway

route -p add 192.0.2.32 somegateway 255.255.255.224

How can I see the amount of network traffic?

dladm show-link interface -s -i interval

dladm show-link bge0 -s -i 1

How do I see which services are running?

svcs -p | more

svcs -pa | more ( to see online, offline, disabled and more)

How do I change the iscsitgt target daemon port?

For the iSCSI target daemon (not COMSTAR's iscsitr)

svccfg -s iscsitgt setprop iscsitgt/iscsi-port = integer: 3261

svcadm restart iscsitgt

How do I create a iSCSI target in COMSTAR?

itadm create-target

How do I view the iSCSI target in COMSTAR?

itadm list-target

stmfadm list-target -v

How do I see disk information?

hd

Device Serial Vendor Model Rev Temperature

------ ------ ------ ----- ---- -----------

c0t1d0p0 DNL3P68018NM FUJITSU MAX3036NC 5D03 53 C (127 F)

c0t2d0p0 DNL3P6400SDR FUJITSU MAX3036NC 5D03 58 C (136 F)

c0t3d0p0 DNL3P68018NN FUJITSU MAX3036NC 5D03 54 C (129 F)

smartctl -d sat,12 -i /dev/rdsk/c1t0d0

smartctl version 5.38 [i386-pc-solaris2.11] Copyright (C) 2002-8 Bruce Allen

Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===

Model Family: Seagate Barracuda 7200.9 family

Device Model: ST3808110AS

Serial Number: 5LR38FE8

Firmware Version: 3.ADH

User Capacity: 80,000,000,000 bytes

Device is: In smartctl database [for details use: -P show]

ATA Version is: 7

ATA Standard is: Exact ATA specification draft version not indicated

Local Time is: Tue Jul 6 05:25:03 2010 PDT

SMART support is: Available - device has SMART capability.

SMART support is: Enabled

smartctl -d sat,12 -A /dev/rdsk/c1t0d0

smartctl version 5.38 [i386-pc-solaris2.11] Copyright (C) 2002-8 Bruce Allen

Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===

SMART Attributes Data Structure revision number: 10

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

1 Raw_Read_Error_Rate 0x000f 112 097 006 Pre-fail Always - 125070840

3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0

4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 424

5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0

7 Seek_Error_Rate 0x000f 080 060 030 Pre-fail Always - 103525615

9 Power_On_Hours 0x0032 098 098 000 Old_age Always - 1766

10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0

12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 352

187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0

189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0

190 Airflow_Temperature_Cel 0x0022 050 050 045 Old_age Always - 50 (Lifetime Min/Max 32/50)

194 Temperature_Celsius 0x0022 050 050 000 Old_age Always - 50 (0 23 0 0)

195 Hardware_ECC_Recovered 0x001a 050 046 000 Old_age Always - 112910269

197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0

198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0

199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0

200 Multi_Zone_Error_Rate 0x0000 100 253 000 Old_age Offline - 0

202 TA_Increase_Count 0x0032 100 253 000 Old_age Always - 0

How do I see the version of dtrace?

dtrace -V

How do I view configured classes (SYS, FX, TS, IA, RT)?

dispadmin -l

ps -cafe

How do I change the class of a process (ex: TS -> RT)?

This would set a pid = 1270 to realtime scheduling. Use with great care.

priocntl -c RT -s pid

priocntl -c RT -s 1270

Why doesn't my machine poweroff, after shutdown (init 5)?

Boot with different acpi options added to grub, then shutdown to see if any of the following will work.

-B acpi-user-options=2 (disable OS use of ACPI for CPU enumeration and interrupt routing)

-B acpi-user-options=4 (partially disable ACPI, but leave Hyper-Threaded CPUs still enumerated)

-B acpi-user-options=8 (leave the system in legacy mode)

How do I enable console redirection on EON?

To enable full console (nothing will be seen on the local console) re-direction (including grub menu) edit the /mnt/eon0/boot/grub/menu.lst.

Note the splashimage and gui related lines have to be commented or they will garble the terminal.

default=0

timeout=10

#background=1A61A7

#splashimage=/boot/grub/splash.xpm.gz

serial --unit=0 --speed=9600 --word=8 --stop=1 --parity=no
terminal serial

title EON Storage 32-bit CIFS console A

kernel /boot/platform/i86pc/kernel/unix -B console=ttya

module /boot/x86-cifs.eon

To enable console re-direction after the grub menu is displayed on the local console

default=0

timeout=10

#background=1A61A7

#splashimage=/boot/grub/splash.xpm.gz

title EON Storage 32-bit CIFS console A

kernel /boot/platform/i86pc/kernel/unix -B console=ttya,ttya-mode="9600,8,n,1,-"

module /boot/x86-cifs.eon

Why can't I delete files when no space is left on my ZFS storage?

You can't delete files then because ZFS is copy on write. To delete a file you rewrite the directory entry, which requires a block. You could try deleting a snapshot

zfs list -t snapshot

zfs destroy snapshot_name

or, what you can do is find a large file that you can truncate. This will not require a block to complete. You can truncate the file as follows:

: > filename

or

true > filename