JeOS on OpenSolaris Nevada line
Pondělí V 12, 2008
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' WorkshopOf 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/
- 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
...
- 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 !!!










