Solaris JumpStart installation is method of network installation of Solaris OS. Below the steps that we need to follow:
- Configure the JumpStart Installation Server
- Create the Client profile files
- Share the Installation directory and Configuration files
- Create the client boot files using tftpboot
- Configure the DHCP server with TFTPBOOT files
Final Silent Installation
First of all let me give you the details about our setup. We have one jumpstart server and two clients. IP and hostname details are given below:
Jumstart_Boot_Server:
IP address: 192.168.101.31
Mac ID: 00:0c:29:42:ed:ff
Client 1:
IP address: 192.168.101.32
Mac ID: 01:00:50:56:11:1A:BB
Client 2:
IP address: 192.168.101.33
Mac ID: 01:00:50:56:11:1A:CC
1. JumpStart installation server:
First of all download the DVD or ISO file of solaris-10u9. If you have downloaded the ISO file then you have to mount it localy using the below commands.
# lofiadm sol-10-u9-ga1-sparc-dvd.iso /dev/lofi/1
# mount -o ro -F hsfs /dev/lofi/1 /mnt
Now create an installation directory on the server:
# mkdir -p /export/install
Put the Solaris 10 OS for x86/x64 platforms DVD in the DVD player on the server. Create the installation server by going to the Solaris_10/Tools directory on the DVD and running the setup_install_server command. The Solaris software is copied to the newly created directory. Specify the absolute path name as the argument.
# cd /cdrom/cdrom0/Solaris_10/Tools
# ./setup_install_server /export/install
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
\|/-\|/-
Calculating space required for the installation boot image
\|/-\|/-
Copying the CD image to disk...
\|/-\|/-
Copying Install Boot Image hierarchy...
\|/-\|/-
Copying /boot x86 netboot hierarchy...
\|/-\|/-
Install Server setup complete
2. Create the Client Configuration Files:
Create a configuration directory where the files will reside:
# mkdir /export/config
Create the sysidcfg file:
Note: Each client can have its own sysidcfg file, or multiple clients can use the same sysidcfg file.
Below are the two Sysidcfg files that I have created for Jumpstart_Client1 and Jumpstart_Client2
# cd /export/config
# mkdir sysidcfg1
# cd sysidcfg1
# vi sysidcfg
keyboard=US-English
system_locale=en_US.ISO8859-1
timezone=US/Pacific
timeserver=localhost
terminal=xterms
service_profile=open
name_service=NONE
security_policy=NONE
root_password=Ax1sT8ZVkPzaM
auto_reg=disable
network_interface=e1000g0 {primary
hostname=client1
netmask=255.255.255.0
protocol_ipv6=no
default_route=192.168.101.1}
nfs4_domain=dynamic
:wq
# cd ../
# mkdir sysidcfg2
# cd sysidcfg2
# vi sysidcfg
keyboard=US-English
system_locale=en_US.ISO8859-1
timezone=US/Pacific
timeserver=localhost
terminal=xterms
service_profile=open
name_service=NONE
security_policy=NONE
root_password=Ax1sT8ZVkPzaM
auto_reg=disable
network_interface=e1000g0 {primary
hostname=client2
netmask=255.255.255.0
protocol_ipv6=no
default_route=192.168.101.1}
nfs4_domain=dynamic
:wq
Create the rules file:
# cd /export/config
# vi rules
hostname client1 begin1 profile1 finish1
hostname client2 begin2 profile2 finish2
:wq
Create the begin file:
# cd /export/config
# vi begin1
#!/bin/sh
echo "Begin Script for JumpStart client1..."
:wq
# vi begin2
#!/bin/sh
echo "Begin Script for JumpStart client2..."
:wq
# chmod 755 begin*
Create the finish file:
# cd /export/config
# vi finish1
#!/bin/sh
echo "Finish Script for JumpStart client1..."
echo "Get rid of the nfs prompt during the initial boot"
touch /a/etc/.NFS4inst_state.domain
:wq
# vi finish2
#!/bin/sh
echo "Finish Script for JumpStart client2..."
echo "Get rid of the nfs prompt during the initial boot"
touch /a/etc/.NFS4inst_state.domain
:wq
# chmod 755 finish*
Create the profile file:
# cd /export/config
# vi profile1
# install_type MUST be first
install_type initial_install
# start with the minimal required number of packages
cluster SUNWCXall
cluster SUNWCapache delete
cluster SUNWCpcmc delete
cluster SUNWCpcmcx delete
cluster SUNWCthai delete
cluster SUNWClp delete
cluster SUNWCnis delete
cluster SUNWCppp delete
# format the entire disk for Solaris
fdisk all solaris all
# define how the disk is partitioned
partitioning explicit
filesys rootdisk.s0 6144 /
filesys rootdisk.s1 1024 swap
filesys rootdisk.s7 free /state/partition1
# install systems as standalone
system_type standalone
##### Below are the configuration for Patches and Packages installation
# specify patches to install
patch 119281-06 nfs 192.168.101.31:/export/patches
# specify packages to install
package SPROcc add nfs 192.168.101.31:/export/packages
:wq
# vi profile2
# install_type MUST be first
install_type initial_install
# start with the minimal required number of packages
cluster SUNWCXall
cluster SUNWCapache delete
cluster SUNWCpcmc delete
cluster SUNWCpcmcx delete
cluster SUNWCthai delete
cluster SUNWClp delete
cluster SUNWCnis delete
cluster SUNWCppp delete
# format the entire disk for Solaris
fdisk all solaris all
# define how the disk is partitioned
partitioning explicit
filesys rootdisk.s0 6144 /
filesys rootdisk.s1 4096 swap
filesys rootdisk.s7 free /state/partition1
# install systems as standalone
system_type standalone
##### Below are the configuration for Patches and Packages installation
# specify patches to install
patch 119281-06 nfs 192.168.101.31:/export/patches
# specify packages to install
package SPROcc add nfs 192.168.101.31:/export/packages
:wq
Create the check script:
The check script is used to validate that the rules and profile files are correctly set up. First copy the check script to the local directory, that is, /export/config, as shown:
# cd /export/config
# cp /export/install/Solaris_10/Misc/jumpstart_sample/check .
Run the check script:
# ./check
Validating rules...
Validating profile profile1...
Validating profile profile2...
The custom JumpStart configuration is ok.
3. Share the Installation and Configuration Directories
Modify dfstab to share the JumpStart directories.
Edit the /etc/dfs/dfstab file:
# vi /etc/dfs/dfstab
# Place share(1M) commands here for automatic execution
# on entering init state 3.
#
# Issue the command 'svcadm enable network/nfs/server' to
# run the NFS daemon processes and the share commands, after
# adding the very first entry to this file.
#
# share [-F fstype] [ -o options] [-d ""]
# [resource]
# for example,
# share -F nfs -o rw=engineering -d "home dirs" /export/home2
share -F nfs -o ro,anon=0 /export/install
share -F nfs -o ro,anon=0 /export/config
share -F nfs -o ro,anon=0 /export/patches ## Share the patches folder on Boot server
share -F nfs -o ro,anon=0 /export/packages ## Share the Packages Folder on boot Server
:wq
Start the NFS server:
# /etc/init.d/nfs.server start
Share the directories:
# shareall
# share
- /export/install ro,anon=0 ""
/export/config ro,anon=0 ""
/export/patches ro,anon=0 ""
/export/packages ro,anon=0 ""
Verify file sharing.
# showmount -e localhost
export list for localhost:
/export/install (everyone)
/export/config (everyone)
/export/patches (everyone)
/export/packages (everyone)
4. Create the Client tftpboot Files
Run the add_install_client script for each client.
Go to the location of the add_install_client script:
# cd /export/install/Solaris_10/Tools
Run the add_install_client script for each client on the network that performs a JumpStart installation.
# ./add_install_client \
-d \
-e 00:01:00:50:56:11:1A:BB \
-s 192.168.101.31:/export/install \
-c 192.168.101.31:/export/config \
-p 192.168.101.31:/export/config/sysidcfg1 i86pc
enabling tftp in /etc/inetd.conf
Converting /etc/inetd.conf
enabling network/tftp/udp6 service
copying boot file to /tftpboot/pxegrub.I86PC.Solaris_10-1
If not already configured, enable PXE boot by creating
a macro named 01005056111ABB with:
Boot server IP (BootSrvA) : 192.168.101.31
Boot file (BootFile) : 01005056111ABB
# ./add_install_client \
-d \
-e 00:01:00:50:56:11:1A:CC \
-s 192.168.101.31:/export/install \
-c 192.168.101.31:/export/config \
-p 192.168.101.31:/export/config/sysidcfg1 i86pc
enabling tftp in /etc/inetd.conf
Converting /etc/inetd.conf
enabling network/tftp/udp6 service
copying boot file to /tftpboot/pxegrub.I86PC.Solaris_10-1
If not already configured, enable PXE boot by creating
a macro named 01005056111ACC with:
Boot server IP (BootSrvA) : 192.168.101.31
Boot file (BootFile) : 01005056111ACC
5. Configure and Run the DHCP Server
Run dhcpmgr:
# /usr/sadm/admin/bin/dhcpmgr
Java Accessibility Bridge for GNOME loaded.
NOTE: Its pretty straight forward from the GUI. But just make sure that you configured the tftpboot files as well for your clients.
6. Final Silent Installation
With the above setup you still need human intervention at two places in Solaris installation.
1. First is at Installation type selection where it shows you the 6 option menu like 1 for interactive installation,2 for jumpstart etc..
2. Second you need to fill the registration details manually. Registration page is been included in recent releases of the Solaris OS.
Actually both are because of the bug in Jumpstart installation. Though first one have the solution to tweak the kernel parameters in menu.lst.macid file under /tftpboot/ directory. You need to add
– install dhcp parameter to kernel line.
Default menu.lst.macid file would be:
default=0
timeout=30
title Solaris_10 Jumpstart
kernel /I86PC.Solaris_10-1/multiboot kernel/unix -B \
install_config=172.16.64.194:/export/config, \
sysid_config=172.16.64.194:/export/config/sysidcfg1, \
install_media=172.16.64.194:/export/install, \
install_boot=172.16.64.194:/export/install/boot
module /I86PC.Solaris_10-1/x86.miniroot
You have to change it to
default=0
timeout=0
title Solaris_10 Jumpstart
kernel /I86PC.Solaris_10-1/multiboot kernel/unix - install dhcp -B \
install_config=172.16.64.194:/export/config, \
sysid_config=172.16.64.194:/export/config/sysidcfg1, \
install_media=172.16.64.194:/export/install, \
install_boot=172.16.64.194:/export/install/boot
module /I86PC.Solaris_10-1/x86.miniroot
Though I have modified the timeout value as well. I have set it to 0 which will not show you the OS selection page. By default it was 30 sec.
Now boot the clients via network card you are good to go.
NOTE: If you have need any alteration or modification or you think it needs some brief then please let me know.
Recent Comments