Tuesday, May 5, 2009

EON ZFS NAS meets IPS packages

Adding drivers/binaries to your EON ZFS NAS presents a bit of challenge as it requires acquiring the matching SNV_xxx DVD to source the package. There is an alternative called the image packaging system. This is basically Sun's network packaging system similar to apt, RPM in Linux. I've assumed here that the network card is fully functional and internet connectivity, is working.

So assuming your nic works, a wide array of options become available with the help of IPS. This may be useful to add or run certain binaries such as unzip, ipmitool, powertop, openssl, pmconfig, etc. So how do we add pkg and other IPS goodies? First we download the pre-installed toolkit here.

Then, unzip it to a smb/cifs share somewhere on a storage pool (this example unzipped to /deep/pkg-toolkit-sunos-i386). Now let's create the packaging db in /deep/ips
mkdir -p /deep/ips
cd /deep/pkg-toolkit-sunos-i386/pkg/bin
./pkg image-create -F -a opensolaris.org=http://pkg.opensolaris.org /deep/ips
After this completes, we are ready to add packages to the /deep/ips repositories. Note, I am not adding the packages to / (root). This would store the downloaded binaries in RAM and reduce the available memory and most likely cause a crash of the OS. It would also not survive a reboot. So for now, let's use a local repository /deep/ips and lets add unzip. First, I need to know which package unzip, is a part off. So, let's try to find that
cd /deep/ips
/deep/pkg-toolkit-sunos-i386/pkg/bin/pkg search -r unzip
INDEX ACTION VALUE PACKAGE
basename file usr/bin/unzip pkg:/SUNWunzip@5.53.7-0.101
basename file usr/bin/unzip pkg:/SUNWunzip@5.53.7-0.96
basename file usr/bin/unzip pkg:/SUNWunzip@5.52-0.75
We see the package name is SUNWunzip as well as the versions available at the repository (5.52, 5.53). Let's give it a dry run without installing to see dependencies. Still in /deep/ips
/deep/pkg-toolkit-sunos-i386/pkg/bin/pkg install -nv SUNWunzip
And to install it and all its listed dependencies in /deep/ips
/deep/pkg-toolkit-sunos-i386/pkg/bin/pkg install -v SUNWunzip
This can also be used for drivers, for example the sil 3124 sata chipset driver
/deep/pkg-toolkit-sunos-i386/pkg/bin/pkg search -r 3124
INDEX ACTION VALUE PACKAGE
description set 3124 pkg:/SUNWsi3124@0.5.11-0.101
description set 3124 pkg:/SUNWsi3124@0.5.11-0.75
description set 3124 pkg:/SUNWsi3124@0.5.11-0.89
Then, simply adding this SUNWsi3124 or specifically SUNWsi3124@0.5.11-0.101 will get us the driver. One thing I note is the package naming varies slightly to the opensolaris DVD package names. I also could not locate packages SUNWzfsgu, SUNWzfsgr and SUNWmconr to attempt adding the ZFS smcwebserver GUI/BUI administration interface. Some cool pkg usage techniques can be found here at the observatory blog. A cool Hello World example.

8 comments:

Andre Lue said...

Wow that was fast, build 27 released today

http://wikis.sun.com/display/IpsBestPractices/Downloads

Shizam said...

I see you using pkgadd to install packages (such as webmin) but after setting up EON I have no pkgadd command available. Did you have to install that yourself? Any plans of including it in EON?

Andre Lue said...

Shizam,

You are correct there is no pkgadd binary in EON. I used pkg and network packaging system IPS for this post. This avoids the need of pulling the packages from the matching opensolaris SNV release DVD yourself.

The pkgadd framework is fairly large from a library and packing db view. I chose not to include it in the GA release but you can use the build kit and add the SUNWpkgcmdsu, SUNWpkgcmdsr to your custom appliance.

Aaron aka Frank said...

They've moved the 2.2 branch to stable and started 2.3 - at B34 at time of writing.

Andre Lue said...

All,

For completeness, to add pkgadd to eon the following packages are needed:
SUNWadmc
SUNWwbsup
SUNWpkgcmdsr
SUNWpkgcmdsu

anil said...

Hi,

Is it possible to install SNMPD on EON 5.11 snv_114 i86pc i386 i86pc?

I have tried to install using above method i am not able to find right package,

This is what i have tried.

/zfspool/deep/pkg-toolkit-sunos-i386/pkg/bin/pkg install -nv SUNWsnmp
Creating Plan -
pkg: The following pattern(s) did not match any packages in the current catalog.
Try relaxing the pattern, refreshing and/or examining the catalogs:
SUNWsnmpd

zfspool is my pool name.

please help me to enable snmpd.

Thank you very much,
Anil.

Andre Lue said...

Anil,

I see you are using the switches -nv. To install use only -v, -n is a dry run switch and does not actually install the package.

Unknown said...

Lue,
This is sad:
This application is no longer in service. For those in the community who participated in the past we thank you for your contributions.

Is there any other repo I can use to install packages?

Thanks,