Using Solaris JumpStart With the Solaris 10 OS for x86/x64 PlatformsCraig Winter and Dale Layfield, March 2007 AbstractSun Microsystems' Solaris JumpStart technology is used to automate the installation of the Solaris Operating System and other associated software on multiple nodes of a network. Using Solaris JumpStart software on the Solaris 10 OS for x86/x64 platforms is essentially the same as on Solaris 10 OS for SPARC platforms. However, there are some subtle differences that need to be addressed for correct operation. This document provides the steps and explanations necessary to set up a JumpStart server for the Solaris 10 OS on a Sun x86/x64 machine, along with configuring JumpStart for two or more clients. As a general reference, refer to the Sun online document Using Custom JumpStart. IntroductionThis article presents step-by-step procedures for creating a JumpStart server using the Solaris 10 OS for x86/x64 platforms. This version of the Solaris 10 OS is used both for the OS running on the server and for the OS on the JumpStart installation server. Both AMD Opteron and Intel processor-based machines were used as servers and clients with no preference given as to which processor type was used for each. Instructions are provided to:
Pre-boot Execution Environment (PXE) must be enabled on the clients in order to allow them to boot from the network. On some clients, PXE needs to be enabled in the BIOS. A bug in the creation of the client boot file is addressed in the Final Clean-Up section. Solaris JumpStart ProcedureThese instructions are for setting up a JumpStart installation server that will install the Solaris 10 OS for x86/x64 platforms on two clients. In this exercise, the node name of the JumpStart server is
If you need to, you can download the Solaris 10 OS. 1. Create a JumpStart Installation Server a. Create an installation directory on the server: # mkdir -p /export/install b. 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 # 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 # c. Verify that the # du -sk /export/install 3083278 /export/install d. Remove the DVD from the DVD player. # cd /;eject Create the Client Configuration Files The client configuration files are used to control a custom JumpStart installation. a. Create a configuration directory where the files will reside: # mkdir /export/config b. Create the The first file to create is the A JumpStart client looks for a file named
# cd /export/config
# mkdir sysidcfg1
# cd sysidcfg1
# vi sysidcfg
system_locale=en_US.ISO8859-1
timezone=US/Pacific
timeserver=localhost
terminal=vt100
name_service=NONE
security_policy=NONE
root_password=<encrypted from /etc/shadow>
network_interface=bge0 {hostname=client1
netmask=255.255.255.0
protocol_ipv6=no
default_route=172.16.64.1}
:wq
# cd ../
# mkdir sysidcfg2
# cd sysidcfg2
# vi sysidcfg
system_locale=en_US.ISO8859-1
timezone=US/Pacific
timeserver=localhost
terminal=vt100
name_service=NONE
security_policy=NONE
root_password=<encrypted from /etc/shadow>
network_interface=bge0 {hostname=client2
netmask=255.255.255.0
protocol_ipv6=no
default_route=172.16.64.1}
:wq
c. Create the The next file to create is the There is only one # cd /export/config # vi rules hostname client1 begin1 profile1 finish1 hostname client2 begin2 profile2 finish2 :wq The d. Create the The Multiple # 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* During installation on the client, output from the
The Solaris 10 Installation Guide includes a
Custom JumpStart Environment Variables
section that describes variables you can use in e. Create the The Multiple # 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* The Solaris installation program mounts the client systems'
file systems on The JumpStart directory, that is, The following line in the cp /tmp/install_config/<file_name> /a/<path_name>/ f. Create the The Multiple # 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 # specify patches to install patch 119281-06 nfs 172.16.64.194:/export/patches # specify packages to install package SPROcc add nfs 172.16.64.194:/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 # specify patches to install patch 119281-06 nfs 172.16.64.194:/export/patches # specify packages to install package SPROcc add nfs 172.16.64.194:/export/packages :wq g. Create the The # cd /export/config # cp /export/install/Solaris_10/Misc/jumpstart_sample/check . h. Run the check script: # ./check Validating rules... Validating profile profile1... Validating profile profile2... The custom JumpStart configuration is ok. If no errors are found, the # version=2 checksum=<num> 3. Share the Installation and Configuration Directories a. Modify b. Edit the # 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 "<text>"] <pathname> # [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 -F nfs -o ro,anon=0 /export/packages :wq c. Start the NFS server. # /etc/init.d/nfs.server start d. 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 "" e. 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 a. Run the b. Go to the location of the # cd /export/install/Solaris_10/Tools c. Run the
# ./add_install_client \
-d \
-e 00:0a:e4:37:16:4d \
-s 172.16.64.194:/export/install \
-c 172.16.64.194:/export/config \
-p 172.16.64.194:/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 01000AE429C1FD with:
Boot server IP (BootSrvA) : 172.16.64.194
Boot file (BootFile) : 01000AE429C1FD
# ./add_install_client \
-d \
-e 00:0a:e4:2a:33:f8 \
-s 172.16.64.194:/export/install \
-c 172.16.64.194:/export/config \
-p 172.16.64.194:/export/config/sysidcfg2 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 01000AE42A33F8 with:
Boot server IP (BootSrvA) : 172.16.64.194
Boot file (BootFile) : 01000AE42A33F8
The 5. Configure and Run the DHCP Server a. Run # /usr/sadm/admin/bin/dhcpmgr Java Accessibility Bridge for GNOME loaded. The first screen appears: b. Select Configure as a DHCP Server and click OK. The DHCP Configuration Wizard appears: c. Select Text Files and click Next. d. Verify the storage path and click Next. e. Select a nameservice and click Next. f. Verify the lease information and click Next. g. Verify the DNS domain information and click Next. h. Verify the network information and click Next. i. Select the network type and routing option and click Next. j. Verify the NIS domain information and click Next. k. Verify the NIS+ domain information and click Next. l. Review the settings and click Finish. The DHCP Manager appears and you are asked to start the Address Wizard: m. Click Yes. The Address Wizard appears: n. Type the number of IP addresses and click Next. o. Verify the server information and click Next. p. Verify the IP addresses and click Next. q. Verify the client configuration information and click Next. r. Select the lease type and click Next. s. Review the settings and click Finish. With The Create Macro form appears: t. Create the u. Create the v. Repeat the same process to create the second macro. x. Click Add. y. Click Add and then click OK. z. After generating the second macro, select File->Exit in the DHCP Manager
window to end the When you ran the Due to a bug in the creation of the
- install dhcp Therefore, change the file from this:
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
to this:
default=0
timeout=4
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
Perform a Hands-Off JumpStart Installation Boot the clients. After the prompt is displayed, press F12 on the client's keyboard.
Network Boot Request....
CLIENT MAC ADDR: 00 0A E4 2A 33 F8 GUID: 11223344 556 7788 99AA \
BBCCDDEEFF00
DHCP....\|/-\|/-
If everything has been set up correctly, the installation runs
to completion. If a problem occurs, the installer exits and drops
into a shell. The cause of the error is recorded in the
Post InstallationThe following are the log files for the JumpStart installation:
/var/sadm/system/logs/install_log
begin_log
finish_log
sysidtool.log
About the AuthorsCraig Winter and Dale Layfield are Staff Engineers for the MDE Verticals Group in Market Development Engineering at Sun Microsystems, Inc. Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
|