38.103.63.56  (38.103.63.56)
CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
January 6, 2009, 7:37 pm
SOFTWARE
   Astraeus
   Log Hog
   AAS / NIST 800-53

      Solaris 10 OE
      Cisco PIX/IOS
   sniffy!

GUIDES
   Sun Solaris
   OpenBSD
   IBM AIX
   SGI IRIX
   Cisco IOS/PIX
   Gentoo Linux


WAR ROOM
LINKS
ABOUT
HOME



PHP
Apache HTTPD Server
Linux Powered
MySQL
Hosted by 1&1


Configuring a Solaris 10 JumpStart Server
November 15, 2008

Operating System
Platform
Application(s)
Other
Sun Solaris
Sun UltraSPARC
Sun Solaris JumpStartGNU GCC
N / A

I. Abstract

This document describes the process of configuring a Sun Solaris 10 (SPARC) JumpStart server. I will also provide an example JumpStart profile that will install a stripped down GNU GCC development / server environment.

I always include a development foundation when installing Solaris because Sun's package and patching systems are disgusting. Therefore, most of my work is done using source code for application installation. I also use Martin Paul's excellent patching software, PCA, for all updating needs.

Test Platform:

  • Sun 420R
  • 4x 450Mhz UltraSPARC-II / 4GB RAM
  • Solaris 10 OE 05/08
Keep in mind that this document does not cover hardening the system. That process is outlined in other documents from myself or others, and is very specific to the intended purpose of the machine.

II. Setup the Operating Environment

This guide assumes you already have Solaris 10 installed on what will now be your JumpStart server.

III. Obtain and Mount the Solaris 10 Operating Environment ISO

First, download the Sun Solaris 10 (SPARC) installation DVD bits from sun.com. Then, copy it to your soon-to-be JumpStart server.

You will need to have root access to perform the following functions. On my system, I created a disk partition named /jumpstart. Most people stick it in /export. Here, we'll do it my way (assume a separate /jumpstart slice). Also, my OS ISO file was saved to my user directory, /export/home/randy.

# cd /jumpstart
# mkdir /mnt/temp
# lofiadm -a /export/home/randy/sol-10-u5-ga-sparc-dvd.iso
# mount -F hsfs /dev/lofi/1 /mnt/temp

IV. Install JumpStart OS Image and Configure Stuff

Now that we have that out of the way, it is time to create our source directory and run the installation script:

# mkdir /jumpstart/solaris_10_js
# /mnt/temp/Solaris_10/Tools/setup_install_server /jumpstart/solaris_10_js

This will copy all necessary installation files to the server. Once finished this part, you can unmount and delete the ISO file. Once finished, we can create the configuration files for our automated installations:

# mkdir /jumpstart/solaris_10_js/config
# cd /jumpstart/solaris_10_js/config
# vi sysidcfg

The sysidcfg file contains information for setting system locales, timezone, IP information, and much more. Here is the one I use - it is simple so I can use the same one for many installations:

system_locale=en_US.UTF-8
timezone=US/Eastern
timeserver=time.nist.gov
terminal=vt100
name_service=DNS {domain_name=procyonlabs.com
name_server=192.168.1.1}
security_policy=NONE
root_password=<encrypted_pw_for_root_on_new_installations>

Next, we need to create a rules file:

# vi rules

This file contains a "rule" for each client or group of clients. Again, I keep it simple (one line for each system you plan on installing):

hostname uranus - profile -
hostname atlas - profile -
hostname ganymede - profile -
hostname jupiter - profile -

Now for the fun part:

# vi profile

The profile file contains all the details for clusters, packages, drive partitioning, etc for your target systems. Because for every system I install, I require a minimal package set without X, and a GNU development environment, this is what I have in my file:

# CORE Installation w/ Development Libraries
#
# Customized for the Web Server with Apache 2, PHP 5, OpenSSL
# and Database Support guide:
#
# http://www.procyonlabs.com/guides/solaris/saps_db
#

# base config ##
install_type initial_install
system_type standalone

## filesystem ##
partitioning explicit
filesys c0t0d0s0 6000 /
filesys c0t0d0s1 free /var
filesys c0t0d0s3 1024 swap
filesys c0t0d0s7 4000 /export/home

## primary cluster ##
cluster SUNWCreq

## clusters to add ##
cluster SUNWCfwutil add # Freeware Other Utilities
cluster SUNWCfwshl add # Freeware Shells
cluster SUNWCwget add # GNU wget
cluster SUNWCntp add # Network Time Protocol
cluster SUNWCptoo add # Programming tools and libraries
cluster SUNWCssh add # Secure Shell

## packages to add ##
package SUNWgzip add # gzip - because the compression cluster don't work
package SUNWzip add # zip

package SUNWarc add # Lint Libraries (usr)
package SUNWarcr add # Lint Libraries (root)
package SUNWman add # On-Line Manual Pages
package SUNWdoc add # Documentation Tools
package SUNWsfwhea add # Open Source header files
package SUNWtoo add # Programming Tools
package SUNWhea add # SunOS Header Files
package SUNWxcu4 add # XCU4 Utilities
package SUNWxcu4t add # XCU4 make and sccs utilities
package SUNWxcu6 add # XCU6 Utilities
package SUNWgcmn add # gcmn - Common GNU package
package SUNWggrp add # ggrep - GNU grep utilities
package SUNWgtar add # gtar - GNU tar

package SUNWopensslr add # OpenSSL (Root)
package SUNWopenssl-commands add # OpenSSL Commands (Usr)
package SUNWopenssl-include add # OpenSSL Header Files

package SUNWuiu8 add # Iconv modules for UTF-8 Locale
package SUNWuium add # ICONV Manual pages for UTF-8 Locale
package SUNWulcf add # UTF-8 Locale Environment Common Files
package SUNWladm add # Locale Administrator (really optional)

## GNU Environment ##
package SUNWgcc add # GNU gcc
package SUNWflexlex add # The Flex Lexer
package SUNWbinutils add # GNU binutils
package SUNWgmake add # GNU make
package SUNWbison add # GNU bison - A YACC Replacement
package SUNWgm4 add # GNU m4 - A macro processor (gm4)
package SUNWgccruntime add # GCC Runtime - Shared libraries used by gcc
package SUNWGlib add # GLIB - Library of useful routines for C programming

## extra stuff needed for PHP/GD ##
package SUNWpng add # PNG - Portable Network Graphics Library
package SUNWpng-devel add # Portable Network Graphics library - developer files
package SUNWjpg add # jpeg - The Independent JPEG Groups JPEG software
package SUNWjpg-devel add # jpeg - The Ind. JPEG Groups JPEG software - dev. files
package SUNWfreetype2 add # FreeType2 Font library
package SUNWxwplt add # X Window System platform software (for libXpm)
package SUNWxwinc add # X Window System include files (for xpm.h)

Before we can do anything, we need to validate the rules file:

# cp /jumpstart/solaris_10_js/Solaris_10/Misc/jumpstart_sample/check .
# ./check -r rules -p /jumpstart/solaris_10_js

Validating rules...
Validating profile profile...
The custom JumpStart configuration is ok.

This creates the rules.ok file. Now, you're OK.

V. Create NFS/TFTP Shares and Add Client System(s) Information

For JumpStart to work, the client systems must be able to see the NFS share containing the OS files:

# echo "share -F nfs -o ro,anon=0 /jumpstart/solaris_10_js" >> /etc/dfs/dfstab
# /etc/init.d/nfs.server restart

They also need to be able to access the TFTP served tftpboot image(s). For each system you wish to JumpStart, you need to enter a bunch of information using the add_install_client script (located in /jumpstart/solaris_10_js/Solaris_10/Tools):

# echo "CLIENT_HOSTNAME  CLIENT_IP" >> /etc/hosts
# /jumpstart/solaris_10_js/Solaris_10/Tools/add_install_client \
 -e CLIENT_MAC \
 -s JS_HOSTNAME:/jumpstart/solaris_10_js \
 -c JS_HOSTNAME:/jumpstart/solaris_10_js/config \
 -p JS_HOSTNAME:/jumpstart/solaris_10_js/config \
 CLIENT_HOSTNAME sun4u

VI. Boot the Client Machine

Power on the Sun machine and enter the OpenBoot PROM terminal (stop-a on console, break on other terminals). Enter the following:

ok boot net - install

More than likely you will see the Timeout waiting for ARP/RARP packet message appear a few times. Eventually it will 'click' and begin the OS installation process.

VII. Helpful Links

 

© 2008 Procyon Labs / Randal T. Rioux

- advertisement -