JeOS on OpenSolaris Nevada line

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 !!!

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Hands-on experience with Virtualization

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today