JET on OpenSolaris
I've found laptop replacement again a lesson for a few reasons:
- new one came whit Vista which needed to shink NTFS partition first
- next Solaris 10 after installation prevents Vista to boot anymore - some MBR/early boot phase hacks are available, see http://blogs.sun.com/moinakg/entry/solaris_vista_dual_boot_revisited for more info
- I was testing OpenSolaris2008.05 on x64 server I've found it very pleasant environment. The Vista dual boot problem is solved in snv_82 and OpelSolaris2008.05 is snv_86 - so it was clear choice.
- unfortunately it could not recognize my NIC and soma other not very important peripherals
- my bright colleague point me to opensolaris.org for osol-0811-99.iso
- there is RC of 2008.11 now
- with snv_99 laptop is running fine (Vista boot OK, added to GRUB during install smoothly)
Now it was time to setup JET, which is easy task for standard environment when you doing it at least every few months not years :o)
JET SETUP STEPs
1. Install JET packages
I've installed following packages, here you can rely on OpenSolaris backward compatibility with Solaris packaging system. Don't care much if some packages are displayed as for Sparc platform and continue.
application JetEISCD EIS CD JET module
application JetEXPLO jet explo product
application JetFLASH JET flash product
application JetISO JET ISO product
application JetSDS JET sds product
application JetVTS JET VTS product
application SUNWjet Sun JumpStart Enterprise Toolkit
Version of packages can be found HERE.
2. Create directory where will stage ISOs. You can use fat32 for sharing ISO with Windows, but be aware of 4GB limit. I prefer separate dataset on extra zpool.
STAGE 9.5G 20K 9.5G 1% /STAGE
STAGE/Img 40G 30G 9.5G 76% /STAGE/Img
root@testopen3:/Inst/Prog/JET# zpool status
pool: STAGE
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
STAGE ONLINE 0 0 0
c3t0d0p4 ONLINE 0 0 0
errors: No known data errors
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c3t0d0s0 ONLINE 0 0 0
errors: No known data errors
root@testopen3:/Inst/Prog/JET#
It was fat32 "OS sharing" partition, but I've found 4GB file limit too limiting.
3. Prepare© your ISOs. You can use readcd(1) to create image form you CD/DVD drive. (readcd -f=/<dir>/<file-name.iso> worked for me)
root@testopen3:/Inst/Prog/JET# cd /STAGE/Img/
root@testopen3:/STAGE/Img# ls -l
total 15770108
-rw-r--r-- 1 root root 8244133888 Oct 29 14:11 EIS-DVD-INT_Sep2008.iso
drwxrwxrwx 2 root root 7 Nov 8 01:41 FLAR
drwxrwxrwx 2 root root 3 Oct 31 07:18 HB
-rwxrwxrwx 1 root root 2922250240 Oct 23 00:54 SOL_10_508_SPARC.iso
-rw-r--r-- 1 row staff 2661416960 Nov 4 20:50 sol-10-u6-ga1-sparc-dvd.iso
-rw-r--r-- 1 row staff 2308833280 Nov 4 20:27 sol-10-u6-ga1-x86-dvd.iso
root@testopen3:/STAGE/Img#
4. Populate JET image location tables
root@testopen3:/opt/SUNWjet/etc# cat solaris_iso_locations
# This file is used to specify the mountpoints for iso images. You need
# to create the mountpoint, update this file, and then run /opt/SUNWjet/bin/
# share_isos. This will lofimount all isos listed here. You will then
# need to run add_solaris_location for each image as normal.
# You should run the share_isos command everytime the JET server is
# rebooted.
#
# Format is:
#
# <location of .iso file> <mountpoint>
#
# e.g. /export/iso/s10_0508s.iso /export/install/media/Solaris_10_0508S
/STAGE/Img/SOL_10_508_SPARC.iso /export/install/media/Solaris_10_0508S
/STAGE/Img/EIS-DVD-INT_Sep2008.iso /export/install/EIS/Sep08
/STAGE/Img/sol-10-u6-ga1-sparc-dvd.iso /export/install/media/Solaris_10_1008S
/STAGE/Img/sol-10-u6-ga1-x86-dvd.iso /export/install/media/Solaris_10_1008X
root@testopen3:/opt/SUNWjet/etc#
root@testopen3:/opt/SUNWjet/etc#
root@testopen3:/opt/SUNWjet/etc# cat solaris_media_locations
SOL_10_0508S /export/install/media/Solaris_10_0508S/Solaris_10/Tools/add_install_client /export/install/media/Solaris_10_0508S
SOL_10_1008S /export/install/media/Solaris_10_1008S/Solaris_10/Tools/add_install_client /export/install/media/Solaris_10_1008S
SOL_10_1008X /export/install/media/Solaris_10_1008X/Solaris_10/Tools/add_install_client /export/install/media/Solaris_10_1008X
root@testopen3:/opt/SUNWjet/etc#
For solaris_media_location you can use add_solaris_location in /opt/SUNWjet/bin.
You can write script like this to have ISOs shared on boot
root@testopen3:/opt/SUNWjet/etc# cat /etc/rc3.d/S20JETshare_isos
/opt/SUNWjet/bin/share_isos
root@testopen3:/opt/SUNWjet/etc#
After run of share_isos you should have FSs mounted:
root@testopen3:/opt/SUNWjet/etc# df -h
Filesystem Size Used Avail Use% Mounted on
rpool/ROOT/opensolaris
29G 6.9G 22G 25% /
swap 1.8G 340K 1.8G 1% /etc/svc/volatile
/usr/lib/libc/libc_hwcap1.so.1
29G 6.9G 22G 25% /lib/libc.so.1
swap 1.8G 304K 1.8G 1% /tmp
swap 1.8G 44K 1.8G 1% /var/run
STAGE 9.5G 20K 9.5G 1% /STAGE
STAGE/Img 40G 30G 9.5G 76% /STAGE/Img
rpool/export 29G 6.9G 22G 25% /export
rpool/export/home 22G 19K 22G 1% /export/home
rpool/export/home/row
22G 119M 22G 1% /export/home/row
rpool 22G 49K 22G 1% /rpool
/dev/lofi/1 2.6G 2.6G 0 100% /export/install/media/Solaris_10_0508S
/dev/lofi/2 7.7G 7.7G 0 100% /export/install/EIS/Sep08
/dev/lofi/3 2.5G 2.5G 0 100% /export/install/media/Solaris_10_1008S
/dev/lofi/4 2.2G 2.2G 0 100% /export/install/media/Solaris_10_1008X
/export/install/media/Solaris_10_1008X/boot
2.2G 2.2G 0 100% /tftpboot/I86PC.Solaris_10-1
root@testopen3:/opt/SUNWjet/etc#
5. Copy EIS to JET
He you need first hack. OpenSolaris doesn't know "-n" option of df command, which would fail the process.
HACK: /opt/SUNWjet/bin/copy_eiscd
Find commended line and replace witch the next one
## Commented out as OpenSol do not know -n of df #IMAGE_TYPE=`df -n ${IMAGE_LOC} | awk -F" " '{print $NF}'`
IMAGE_TYPE=`df -T ${IMAGE_LOC} | tail -1 | awk -F" " '{print $(NF-5)}'`
Than use copy_eis to copy data from lofi mounted image to standard location (using staged image is much faster then copiing from real DVD)
6. Download DHCP server via IPS package manager
I like the GUI, but you can do it from cmd. Use just text files no need for binary databases.Populate make_dhcp script with entries for your network and run it.
root@testopen3:/opt/SUNWjet/Products/base_config/solaris# cat make_dhcp
#!/usr/bin/ksh
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
################################################################################
#
# Synopsis: PXE boot pre-JUMP setups
# if DHCP server is notpresent, then activate it
#
# Change the NETWORk details to suit your own
NETWORK=192.168.99.0
NETMASK=255.255.255.0
ROUTER=192.168.99.1
dhcpconfig -D -r SUNWfiles -p /var/tmp
dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}
#
root@testopen3:/opt/SUNWjet/Products/base_config/solaris#
6.5 Enable TFTP service
TFPT is needed for early net boot phase, but it is not enabled by default in Solaris 10 or OpenSolaris. It not not even defined in /etc/inet/inetd.conf in OpenSolaris, so you need to add the definiton first.
TFTP CONFIGURATION
===================
root@testopen3:~# inetadm | grep tftp
enabled online svc:/network/tftp/udp6:default
root@testopen3:~#
FROM SOLARIS 10 IN.TFTPD(1M) MAN PAGE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTES
The tftpd server only acknowledges the transfer size option
that is sent with a read request when the octet transfer
mode is specified.
The in.tftpd.1m service is managed by the service management
facility, smf(5), under the service identifier:
svc:/network/tftp/udp6:default
Administrative actions on this service, such as enabling,
disabling, or requesting restart, can be performed using
svcadm(1M). Responsibility for initiating and restarting
this service is delegated to inetd(1M). Use inetadm(1M) to
make configuration changes and to view configuration infor-
mation for this service. The service's status can be queried
using the svcs(1) command.
Unlike most smf(5) services, a manifest for the tftp service
is not included in the system. To create one and enable this
service, the administrator should:
1. Edit /etc/inet/inetd.conf and uncomment the tftp
entry.
2. Run /usr/sbin/inetconv.
After you run inetconv, the svc:/network/tftp/udp6:default
service is created and enabled.
For OpenSolaris:
~~~~~~~~~~~~~~~~
YOU NEED TO ADD THIS LINE TO INETD.CONF - THERE IS NONE BY DEFAULT:
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
Than you can run inetconv(1).
7. Fix SDS module
This and next section (8.) describes small changes in modules' scripts needed for their proper function in this platform.
This is needed because snv_99 for some reason handles ksh expressions differently:
SOLARIS 10u4 x64
~~~~~~~~~~~~~~~~
root@arrowaver5 # ksh
root@arrowaver5 # JS_PRODUCT=sds
root@arrowaver5 # sds_product_version=default
root@arrowaver5 # eval echo $\"{${JS_PRODUCT}_product_version}\"
${sds_product_version}
root@arrowaver5 # JS_PRODVER="`eval echo $\"{${JS_PRODUCT}_product_version}\"`"
root@arrowaver5 # echo $JS_PRODVER
default
root@arrowaver5 # uname -i ; uname -a
i86pc
SunOS arrowaver5 5.10 Generic_120012-14 i86pc i386 i86pc
root@arrowaver5 # cat /etc/release
Solaris 10 8/07 s10x_u4wos_12b X86
Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 16 August 2007
root@arrowaver5 #
SOLARIS 10u5 SPARC
~~~~~~~~~~~~~~~~~~
# ksh
# JS_PRODUCT=sds
# sds_product_version=default
# eval echo $\"{${JS_PRODUCT}_product_version}\"
${sds_product_version}
# JS_PRODVER="`eval echo $\"{${JS_PRODUCT}_product_version}\"`"
# echo $JS_PRODVER
default
# uname -i ; uname -a
SUNW,Ultra-5_10
SunOS testsol10u6s 5.10 Generic_127127-11 sun4u sparc SUNW,Ultra-5_10
#
OPENSOLARIS 1108_99 X64
~~~~~~~~~~~~~~~~~~~~~~~
root@testopen3:/opt/SUNWjet/Products/sds# ksh
# JS_PRODUCT=sds
# sds_product_version=default
# eval echo $\"{${JS_PRODUCT}_product_version}\"
{sds_product_version}
# JS_PRODVER="`eval echo $\"{${JS_PRODUCT}_product_version}\"`"
# echo $JS_PRODVER
{sds_product_version}
# uname -i ; uname -a
i86pc
SunOS testopen3 5.11 snv_99 i86pc i386 i86pc Solaris
# cat /etc/release
OpenSolaris 2008.11 snv_99 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 08 October 2008
#
HACK: /opt/SUNWjet/Products/sds/check_client
Again find ⁞ commended line and replace witch the next one
## Didn't work on snv_b99 OpenSol ## JS_PRODVER="`eval echo $\"{${JS_PRODUCT}_product_version}\"`"
JS_PRODVER="$(eval echo $`echo "${JS_PRODUCT}_product_version" `)"
## Didn't work on snv_b99 OpenSol ## slicevar=`eval echo $"{base_config_profile_${slice}_size}"`
slicevar="$(eval echo $`echo "base_config_profile_${slice}_size"`)"
## Didn't work on snv_b99 OpenSol ## slicevar=`eval echo $"{base_config_profile_disk_${slice}_size}"`
slicevar="$(eval echo $`echo "base_config_profile_${slice}_size"`)"
8. Fix & Prepare EXPLO module
HACK: /opt/SUNWjet/Products/explo/check_client
same again
## Didn't work on snv_99 OpenSol ##JS_PRODVER="`eval echo $\"{${JS_PRODUCT}_product_version}\"`"
JS_PRODVER="$(eval echo $`echo "${JS_PRODUCT}_product_version" `)"
ADD TO: /opt/SUNWjet/Products/explo/package.matrix
line at the end:
5.10:5.13:SUNWexplo SUNWexplu
UNPACK & COPY TO: /export/install/pkgs/explo/5.13/sparc/
SUN Explorer packages for version 5.13 here:
root@testopen3:/export/install/pkgs/explo/5.13/sparc# ls -la
total 6
drwxr-xr-x 4 root root 4 Nov 8 08:34 .
drwxr-xr-x 3 root root 3 Nov 8 08:31 ..
drwxr-xr-x 4 root root 6 Aug 8 22:09 SUNWexplo
drwxr-xr-x 4 root root 6 Aug 8 22:09 SUNWexplu
root@testopen3:/export/install/pkgs/explo/5.13/sparc#
9. Prepare template for your client
Use make_template command and hostname of client as agrument. Edit all the sections for modules. Never use symbolic links for templates/client-names.
If you want to use DHCP boot for Sparc machine, add `uname -i` to jumpstat.conf JS_DHCP_VENDOR variable:
root@testopen3:/opt/SUNWjet/Templates# grep VEND /opt/SUNWjet/etc/jumpstart.conf
JS_DHCP_VENDOR="SUNW.Ultra-5_10 SUNW.Ultra-30 SUNW.Sun-Fire-15000 SUNW.Sun-Blade-1500"
root@testopen3:/opt/SUNWjet/Templates#
10. Check you NFS server
You share command to check what is exported. You should definitely avoid two thinks:
- exporting a directory in the structure of already exported directory and vice versa
- editing of /etc/dfs/dfstab by hand
NFSserver will comment out such entries in dftab and will not share it. Use sharemgr(1) cmd instead. To create entries JET needs if not already done use cmds similar to this:
sharemgr add-share -s /export/install/patches default
sharemgr set -P nfs -p anon=0 -s /export/install/patches default
sharemgr set -P nfs -p ro=* -S sys -s /export/install/patches default
For some reason you have to share exactly /export/install/patches and /export/install/pkgs, NOT just /export/install to have patches and addition of packages working in JET. Even .../pkgs not properly shared causing EIS patches not applied.
check with:
root@testopen3:/export/install/pkgs/explo/5.13/sparc# sharemgr show -p
default nfs=()
/opt/SUNWjet nfs=(anon="0") nfs:sys=(ro="*")
/SHARED nfs=(anon="0")
/STAGE/Img/FLAR nfs=(anon="0") nfs:sys=(ro="*")
/dhcp nfs=(anon="0") nfs:sys=(ro="*")
/export/install/media/Solaris_10_1008X nfs=(anon="0") nfs:sys=(ro="*")
/export/install/media/Solaris_10_0508S nfs=(anon="0") nfs:sys=(ro="*")
/export/install/media/Solaris_10_1008S nfs=(anon="0") nfs:sys=(ro="*")
/export/install/EIS/Sep08 nfs=(anon="0") nfs:sys=(ro="*")
/rarp/Solaris_10_0508S/Solaris_10/Tools/Boot nfs=(anon="0") nfs:sys=(ro="*")
/export/install/patches nfs=(anon="0") nfs:sys=(ro="*")
/export/install/pkgs nfs=(anon="0") nfs:sys=(ro="*")
zfs
root@testopen3:/export/install/pkgs/explo/5.13/sparc# share
- /opt/SUNWjet anon=0,sec=sys,ro "JET Framework"
- /SHARED anon=0 ""
- /STAGE/Img/FLAR anon=0,sec=sys,ro ""
- /dhcp anon=0,sec=sys,ro ""
- /export/install/media/Solaris_10_1008X anon=0,sec=sys,ro ""
- /export/install/media/Solaris_10_0508S anon=0,sec=sys,ro ⁞ ""
- /export/install/media/Solaris_10_1008S anon=0,sec=sys,ro ""
- /export/install/EIS/Sep08 anon=0,sec=sys,ro ""
- /rarp/Solaris_10_0508S/Solaris_10/Tools/Boot anon=0,sec=sys,ro ""
- /export/install/patches anon=0,sec=sys,ro ""
- /export/install/pkgs anon=0,sec=sys,ro ""
root@testopen3:/export/install/pkgs/explo/5.13/sparc#
root@testopen3:/export/install/pkgs/explo/5.13/sparc# cat /etc/dfs/dfstab # Do not modify this file directly. # Use the sharemgr(1m) command for all share management # This file is reconstructed and only maintained for backward # compatibility. Configuration lines could be lost. # # share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource] # .e.g, # share -F nfs -o rw=engineering -d "home dirs" /export/home2 # # # # Error: Syntax: share -F nfs -o ro,anon=0 /dhcp/OS_SOL_10_0508S/Solaris_10/Tools/Boot # Error: Syntax: share -F nfs -o ro,anon=0 /dhcp/OS_SOL_10_1008S/Solaris_10/Tools/Boot share -F nfs -o anon=0,sec=sys,ro -d "JET Framework" /opt/SUNWjet share -F nfs -o anon=0 /SHARED share -F nfs -o anon=0,sec=sys,ro /STAGE/Img/FLAR share -F nfs -o anon=0,sec=sys,ro /dhcp share -F nfs -o anon=0,sec=sys,ro /export/install/media/Solaris_10_1008X share -F nfs -o anon=0,sec=sys,ro /export/install/media/Solaris_10_0508S share -F nfs -o anon=0,sec=sys,ro /export/install/media/Solaris_10_1008S< share -F nfs -o anon=0,sec=sys,ro /export/install/EIS/Sep08 share -F nfs -o anon=0,sec=sys,ro /rarp/Solaris_10_0508S/Solaris_10/Tools/Boot share -F nfs /export/install/patches share -F nfs /export/install/pkgs root@testopen3:/export/install/pkgs/explo/5.13/sparc#
11. Run make_client <client-name>
Here client-name=template-name. For the first time it will setup boot environment (DHCP, PXE).
This will populate:
- /etc/hosts
- /etc/bootparams
- DHCP server configuration
- Creates PXE boot environment
Boot type depends on "base_config_client_allocation="dhcp"" variable in client's template. If empty (="") the default is RARP (boot acording /etc/bootparams parameters supplied by /usr/sbin/rpc.bootparamd, which is Solaris default service svc:/network/rpc/bootparams:default.
E.G. client sf15k-c3
root@testopen3:/opt/SUNWjet/Templates# grep alloca sf15k-c3
base_config_client_allocation="dhcp"
root@testopen3:/opt/SUNWjet/Templates#
root@testopen3:/opt/SUNWjet/Templates# grep sf15k-c3 /etc/hosts
10.18.139.35 sf15k-c3
root@testopen3:/opt/SUNWjet/Templates# grep sf15k-c3 /etc/bootparams
root@testopen3:/opt/SUNWjet/Templates#
root@testopen3:/opt/SUNWjet/Templates# grep sf15k-c3 /var/tmp/SUNWfiles1_10_18_139_0
10.18.139.35|010000BEA82270|03|10.18.139.80|4294967295|8345170109517529091|sf15k-c3|
root@testopen3:/opt/SUNWjet/Templates#
root@testopen3:/opt/SUNWjet/Templates# grep sf15k-c3 /var/tmp/SUNWfiles1_dhcptab
sf15k-c3|m|218706056904179713|:SrootPTH=/dhcp/OS_SOL_10_1008S/Solaris_10/Tools/Boot:SinstPTH=/dhcp/OS_SOL_10_1008S:SrootIP4=10.18.139.80:SrootNM=10.18.139.80:SinstIP4=10.18.139.80:SinstNM=10.18.139.80:SjumpsCF="10.18.139.80:/opt/SUNWjet":SsysidCF="10.18.139.80:/opt/SUNWjet/Clients/sf15k-c3":BootSrvA=10.18.139.80:BootFile=010000BEA82270:
root@testopen3:/opt/SUNWjet/Templates# ls -l /dhcp/
total 13
lrwxrwxrwx 1 root root 38 Nov 8 02:19 OS_SOL_10_0508S -> /export/install/media/Solaris_10_0508S
lrwxrwxrwx 1 root root 38 Nov 8 09:03 OS_SOL_10_1008S -> /export/install/media/Solaris_10_1008S
root@testopen3:/opt/SUNWjet/Templates#
You can see this is Sparc Solaris 10 10/2008 client booting from DHCP.
The default config files location is /var/tmp. You can check and manipulate DHCP server client entries and macros by pntadm(1) and dhtadm(1), not by hand.
E.G.:
Macro named "sf15k-c" deletion:
#dhtadm -D -m sf15k-c
Entry for client IP 10.18.139.35 in network 10.18.139.0 deletition:
#pntadm -D 10.18.139.35 10.18.139.0
make_client script add them again if needed. You can need this if you want to install same client with same IP again, but with different hostname.
Fix any error otherwise you could waste your time on finding error during boot time.
12. Boot the client
Identify corret NIC to boot form, use can use watch-net-all in OBP to see at least where the ethernet link exists.
You cat see my sample client boot and install process HERE. This client had following TEMPLATE.
BE PATIENT! When booting sparc from DHCP it can takes minutes before you see any progress (first stage is TFTP download of inetboot, the HEX growing).
It usualy needs to go throught RARP process first and than restart DHCP process get IP.
E.G.:
Rebooting with command: boot net-boot:dhcp - install
Boot device: /pci@3c,700000/pci@1/network@0:dhcp File and args: - install
Using Onboard transceiver - 100 Mbps FDX Link up
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Failed to receive config params
Restarting DHCP process ...
4000 -
This can take 5minutes. If you are booting Solaris 10 update 6 it downloads boot-archive from boot server it can take another 15minutes - you will see only moving slash during that period.
You will probably see error "/dhcp/OS_SOL_10_1008S/Solaris_10/Tools/Boot failed" in your config, this can be ignored.
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Timeout waiting for BOOTP/DHCP reply. Retrying ...
Failed to receive config params
Restarting DHCP process ...
4000 100 Mbps FDX Link up
boot: lookup /dhcp/OS_SOL_10_1008S/Solaris_10/Tools/Boot failed
SunOS Release 5.10 Version Generic_137137-09 64-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Now you can boot x86 via PXE, Sparc via BOOTP/RARP or DHCP. You can have DHCP server and bootparamd running both at the same time. PXE should default to GRUB install, where you can edit menu by your needs.
That's all hoping you had successful boot & install ;o)
This is note of fixing non-critical problem, DO NOT
USE unless want to play with net boot more & more
===================================================
THIS IS WR FOR INETBOOT LOOKUP FAILED ERROR
===================================================
* DHCP boot Sol10U6 ONLY!
~~~~~~~~~~~~~~~~~~~~~
- SU for root
- run /root/batch/pxestart.ksh
+stops bootparamd
+starts DHCP server
+delete /dhcp/OS_SOL_10_1008S dir (my boot hack)
- create subnet using "dhcpmgr" (run as root export DISPLAY first)
- make_client XXXX (takes ages after first 3 lines for the first time)
- "Passed" ?? => continue
-----------------------------------------------------------------------------------------------
OPTIONAL for correct inetboot: (otherwise not stopping error:
"3a000 boot: lokup /dhcp/OS_SOL_...../Tools/Boot failed"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- fix ":SinstPTH=" VAR in client's macro /w dhcpmgr
+set to: "/export/install/media/Solaris_10_1008S"
+leave notify DHCP server checkbox SET!
-fix via CMD: dhtadm -M -m<client-name> -e SinstPTH=/export/install/media/Solaris_10_1008S
svcadm restart dhcp-server
- grep/var/tmp/SUNWfiles1_dhcptab
- run /root/batch/fixSparcDHCPboot.ksh
-----------------------------------------------------------------------------------------------
- in OBP: boot net:dhcp - install
- ignore "Timeout waiting for BOOTP/DHCP...." up to 10x of sf15k
- wait for DHCP process restart + TFTP download
- up to 30s for moving slash
- up to 30min for boot-archive download
- should be running then!
===================================================
root@testopen3:/opt/SUNWjet/Templates# cat /root/batch/pxestart.ksh
##mount /tftpboot/I86PC.Solaris_10-1
svcadm disable bootparams
svcadm enable dhcp-server
rm -r /dhcp/OS_SOL_10_1008S
root@testopen3:/opt/SUNWjet/Templates#
root@testopen3:/opt/SUNWjet/Templates# cat /root/batch/fixSparcDHCPboot.ksh
# This is JET created dir /w its links in it, but bad
cd /dhcp
# Remove bad link auto-generated by JET (make_client script)
rm OS_SOL_10_1008S
# Restore my structure which links to "SOL_10_1008S" dir here
tar xvf BackupOf-OS_SOL_10_1008S.tar
root@testopen3:/opt/SUNWjet/Templates#
root@testopen3:/opt/SUNWjet/Templates# tar tvf /dhcp/BackupOf-OS_SOL_10_1008S.tar
drwxr-xr-x root/root 0 2008-11-07 13:19 OS_SOL_10_1008S/
drwxr-xr-x root/root 0 2008-11-07 13:19 OS_SOL_10_1008S/Solaris_10/
drwxr-xr-x root/root 0 2008-11-07 13:19 OS_SOL_10_1008S/Solaris_10/Tools/
lrwxrwxrwx root/root 0 2008-11-07 13:55 OS_SOL_10_1008S/Solaris_10/Tools/Boot -> ../../../SOL_10_1008S/Boot/
root@testopen3:/opt/SUNWjet/Templates#
root@testopen3:/opt/SUNWjet/Templates# ls -lR /dhcp/SOL_10_1008S/
/dhcp/SOL_10_1008S/:
total 3
drwxr-xr-x 3 root staff 8 Oct 27 21:21 Boot
drwxr-xr-x 2 root root 4 Oct 27 21:21 boot
/dhcp/SOL_10_1008S/Boot:
total 81737
-rw-r--r-- 1 root root 72360652 Oct 27 20:49 X.cpio.bz2
-rw-r--r-- 1 root root 287275 Oct 27 20:49 X_small.cpio.bz2
-rw-r--r-- 1 root root 9780327 Oct 27 20:49 lu.cpio.bz2
-rw-r--r-- 1 root root 1530 Oct 27 20:49 lu.platforms
-rw-r--r-- 1 root root 829821 Oct 27 20:47 pkg_db.cpio.bz2
drwxr-xr-x 5 root root 5 Oct 27 21:21 platform
/dhcp/SOL_10_1008S/Boot/platform:
total 5
drwxr-xr-x 2 root root 5 Nov 7 13:09 sun4u
drwxr-xr-x 2 root root 5 Nov 7 13:57 sun4us
drwxr-xr-x 2 root root 5 Nov 7 13:58 sun4v
/dhcp/SOL_10_1008S/Boot/platform/sun4u:
total 1414
lrwxrwxrwx 1 root root 28 Nov 7 13:09 boot_archive -> ../../../boot/sparc.miniroot
-rw-r--r-- 1 root root 221280 Oct 27 20:49 inetboot
-rw-r--r-- 1 root root 1084048 Oct 27 20:49 wanboot
/dhcp/SOL_10_1008S/Boot/platform/sun4us:
total 1414
lrwxrwxrwx 1 root root 28 Nov 7 13:57 boot_archive -> ../../../boot/sparc.miniroot
-rw-r--r-- 1 root root 221304 Oct 27 20:49 inetboot
-rw-r--r-- 1 root root 1084064 Oct 27 20:49 wanboot
/dhcp/SOL_10_1008S/Boot/platform/sun4v:
total 1414
lrwxrwxrwx 1 root root 28 Nov 7 13:58 boot_archive -> ../../../boot/sparc.miniroot
-rw-r--r-- 1 root root 220536 Oct 27 20:49 inetboot
-rw-r--r-- 1 root root 1083280 Oct 27 20:49 wanboot
/dhcp/SOL_10_1008S/boot:
total 182547
-rw-r--r-- 1 root root 8192 Oct 27 20:49 hsfs.bootblock
-rw-r--r-T 1 root root 186777600 Oct 27 20:54 sparc.miniroot
root@testopen3:/opt/SUNWjet/Templates#
NET BOOT SAMPLE IS HERE. DISK BOOT SAMPLE IS HERE.
Posted at 04:50odp. XI 08, 2008 by Arrowaver in Sun | Comments[4]
Live upgrade (ABE) with local zones and SVM mirroring and aplication of patches
You can find full commented example of use Solaris Volume Manager & whole-root Solaris zones with Live Upgrade technology for patching HERE.
Enjoy
Arrowaver
Posted at 12:22odp. XI 08, 2008 by Arrowaver in Sun | Comments[0]