Virtual Guru's Blog – Home of Virtualization Workshops

May 12, 2008

JeOS on OpenSolaris Nevada line

Filed under: amazon_aws, cloud, jeos, opensolaris, Virtualization — natiku @ 7:02 am

We will use OpenSolaris Nevada line based JumpStart install:

  • profile – which define disk layout and clusters, packages definitions
  • sysidcfg – which will define system parameters

Best is to use network JumpStart server, alternatively you can use CD-ROM install with just profile and sysidcfg files.

This entry is part of ‘OpenSolaris on Amazon EC2’ Workshop


Of course we will use xVM Hypervisor as install environment.

In classical Solaris like SXDE/SCDE which is based on SRV4 packaging is relatively time costly for unexperienced Solaris user to get real consistent small MINIMAL install profile, because JumpStart installer don’t process automatically dependencies during install process.

Getting needed package and cluster names

Getting cluster and package names form SXDE installation media:

We will start with installation of one of main smaller predefined clusters SUNWCreq

Procedures below are based on shell one liners , if you prefer GUI tool you can try Interactive JumpStart Profile Builder for Solview project

Set variable when you copy or mount SXDE0801 media.

 export  sxdemedia=/data/Solaris/
  1. Getting package by name
If you can guess package name
 ls ${sxdemedia}snv_86/Solaris_11/Product/| egrep gzip
SUNWgzip
If you not matching package found
 find ${sxdemedia}
/Solaris_11/Product -type f -name pkgmap -exec grep "/nslookup " {} /dev/null \;
/data/Solaris/sxde0108/Solaris_11/Product/SUNWbind/pkgmap:1 f none usr/sbin/nslookup 0555 root bin 70076 15226 1196465857
Listing package content
 cat   ${sxdemedia}sxde0108/Solaris_11/Product/SUNWbind/pkgmap
: 1 6244 1856
1 i copyright 1604 55144 1178301444
1 i depend 1911 31731 1178301444
1 i pkginfo 550 42890 1196465872
....
1 s none usr/lib/dns/liblwres.so.9=liblwres.so.9.1.5
1 f none usr/lib/dns/liblwres.so.9.1.5 0555 root bin 126932 10594 1196465856
1 f none usr/sbin/dig 0555 root bin 79936 27021 1196465856
Listing package name and dependencies
  cat   ${sxdemedia}sxde0108/Solaris_11/Product/SUNWbind/pkginfo
PKG=SUNWbind
NAME=BIND DNS Name server and tools
...
  1. Getting related cluster

Get related cluster for package

 cat ${sxdemedia}snv_86/Solaris_11/Product/.clustertoc | egrep "CLUSTER=|SUNWgzip"
CLUSTER=SUNWCfwcmp
SUNW_CSRMEMBER=SUNWgzip
METACLUSTER=SUNWCreq
SUNW_CSRMEMBER=SUNWgzip
METACLUSTER=SUNWCrnet
SUNW_CSRMEMBER=SUNWgzip
METACLUSTER=SUNWCmreq
SUNW_CSRMEMBER=SUNWgzip

Listing cluster related cluster for package

sed -n '/CLUSTER=SUNWCfwcmp/,/END/p' ${sxdemedia}snv_86/Solaris_11/Product//.clustertoc
CLUSTER=SUNWCfwcmp
NAME=Freeware Compression Utilities
DESC=Freeware Compression Utilities
VERSION=1.0
SUNW_CSRMEMBER=SUNWbzip
SUNW_CSRMEMBER=SUNWgzip
SUNW_CSRMEMBER=SUNWp7zip
SUNW_CSRMEMBER=SUNWzip
SUNW_CSRMEMBER=SUNWzlib
END

Great so I will select whole cluster SUNWCfwcmp with 5 popular Freeware Compression Utilities

PS: Dependencies are in each packages {pkgname}/install/depned, but to parse them naually is pain, let installer show us them.

Create REDUCED install profile

Booting install couple times to resolve dependencies, resulted profile is:

 cat profile
install_type    initial_install
fdisk rootdisk solaris all
system_type     server
cluster         SUNWCreq
partitioning    explicit
filesys         rootdisk.s0     free    /
filesys         rootdisk.s1     256    swap
cluster SUNWCadm add
cluster SUNWCnfsc add
cluster SUNWCsndm add
cluster SUNWCssh add
cluster SUNWCdtrace add
cluster SUNWCfwcmp add
cluster SUNWCfwshl add
cluster SUNWCfwutil add
cluster SUNWCmd add
cluster SUNWCmda add
cluster SUNWCopenssl add
cluster SUNWCruby18 add
cluster SUNWCwget add
package SUNWinst add
package SUNWgtar add
package SUNWgcmn add
package SUNWvim add
package SUNWgccruntime add
package SUNWlxsl add
package SUNWpcre add
package SUNWhea add
package SUNWmfrun add
package SUNWctpls add
package SUNWxwplt add
package SUNWxwice add
package SUNWxwrtl add
package SUNWxwfsw add
package SUNWxwplr add
cluster SUNWCjv add
cluster SUNWCjvx add
package SUNWmysql5r add
package SUNWmysql5u add
package SUNWfreetype2 add
package SUNWj6dmo delete
package SUNWj6dmx delete
package SUNWj5dmo delete
package SUNWj5dmx delete
package SUNWant add
package SUNWcurl add
package SUNWgnu-idn add
package SUNWntpu add
package SUNWpng add
package SUNWtoo add
package SUNWdoc add
package SUNWman add

Here is log from installing this profile

Processing profile
- Selecting cluster (SUNWCreq)
- Selecting cluster (SUNWCadm)
WARNING: Selected cluster is already selected (SUNWCnfsc)
WARNING: Selected cluster is already selected (SUNWCsndm)
- Selecting cluster (SUNWCssh)
WARNING: Selected cluster is already selected (SUNWCdtrace)
- Selecting cluster (SUNWCfwcmp)
- Selecting cluster (SUNWCfwshl)
- Selecting cluster (SUNWCfwutil)
WARNING: Selected cluster is already selected (SUNWCmd)
- Selecting cluster (SUNWCmda)
- Selecting cluster (SUNWCopenssl)
- Selecting cluster (SUNWCruby18)
- Selecting cluster (SUNWCwget)
- Selecting cluster (SUNWCjv)
- Selecting cluster (SUNWCjvx)
- Selecting package (SUNWinst)
- Selecting package (SUNWgtar)
- Selecting package (SUNWgcmn)
- Selecting package (SUNWvim)
- Selecting package (SUNWgccruntime)
- Selecting package (SUNWlxsl)
- Selecting package (SUNWpcre)
- Selecting package (SUNWhea)
- Selecting package (SUNWmfrun)
- Selecting package (SUNWctpls)
- Selecting package (SUNWxwplt)
- Selecting package (SUNWxwice)
- Selecting package (SUNWxwrtl)
- Selecting package (SUNWxwfsw)
- Selecting package (SUNWxwplr)
- Selecting package (SUNWfreetype2)
- Deselecting package (SUNWj6dmo)
- Deselecting package (SUNWj6dmx)
- Deselecting package (SUNWj5dmo)
- Deselecting package (SUNWj5dmx)
- Selecting package (SUNWant)
- Selecting package (SUNWcurl)
- Selecting package (SUNWgnu-idn)
- Selecting package (SUNWntpu)
- Selecting package (SUNWpng)
- Selecting package (SUNWtoo)
- Selecting package (SUNWdoc)
- Selecting package (SUNWman)
- Selecting package (SUNWsfman)
- Selecting package (SUNWgnu-coreutils)
- Selecting package (SUNWgnu-diffutils)
- Selecting package (SUNWi15rf)
- Selecting package (SUNWeurf)
- Selecting all disks
- Configuring boot device
- Using disk (c0d0) for "rootdisk"
- Creating "all" Solaris fdisk partition (c0d0)
- Configuring swap (c0d0s1)
- Configuring / (c0d0s0)
- Deselecting unmodified disk (c0d1)
Verifying space allocation
- Total software size:  875.72 Mbytes

If we break dependencies you will see messae like this, add package and reinstall, alternatively you can add package manually

WARNING: SUNWi15cs depends on SUNWi15rf, which is not selected

GREAT !!!

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: