SlideShare a Scribd company logo
Introduction to Solaris
  JumpStart



By Scott McDermott
scottm@octaldream.com
http://www.octaldream.com/scottm/talks/jsintro
What is JumpStart?
 JumpStart    is the installation facility for Solaris 2
   Allows  unattended installation based on the
    application of various rules and scripts.
 What   can JumpStart do for me?
   Simplify  Installs
   Faster than CD installation
   Allows unattended installation
   Similar machines need only one configuration rule
Network Boot Process
 Boot   client from the network
     go> boot net - install
   New   machines will net boot at power on
Client & Boot Server Interaction
 Client   performs RARP request
   Server in.rarpd   responds with client's IP address
     IP   is determined via /etc/ethers and /etc/hosts
   Client uses TFTP to download a client stub
   Client requests boot parameters
   The server's rpc.bootparamd responds
     Uses /etc/bootparams
   Boot parameters consist of NFS mount points
   Client mounts filesystem, boots, runs install scripts
Configuring a JumpStart Server
 From    the Solaris media in Solaris_2.6/Tools
     ./setup_install_server <install hierarchy>
   Usethe -b switch to do installs from the CD
   Export the installation hierarchy via NFS

 From    the Solaris media in
 Solaris_2.6/Misc/jumpstart_sample
   Copy   files to your configurarion hierarchy
   ie. cp -r * /export/install/js
Adding a JumpStart Client
 Add   clients using the add_install_client script
     ./add_install_client -e 08:00:20:23:74:95 
      -i 192.168.0.1 -s install:/export/install/Solaris 
      -c install:/export/install/js 
      -p install:/export/install/js foobar sun4u
        -e MAC address
        -i IP Address

        -s Server & path for Solaris media

        -c Server & path for configuration files

        -p Server & path to the sysidcfg file

       Host must be in /etc/hosts
The sysidcfg File
 Provides   automatic system identification
   Name  server
   Network interface
   Hostname
   root password

   Language (locale)
   Terminal type
   Timezone
   Timeserver (not NTP!)
Syntax of the sysidcfg File
 Keyword             Valid Arguments
 name_service        nis, nis+, other, NONE
                     {domain_name=<domain>
                     name_server=<name server IP>}

 network_interface   none, default(2.6), primary(2.7)

 system_locale       Standard locale names

 install_locale      Standard local names

 timezone            Standard timezones

 timeserver          <timeserver hostname or IP>
Example sysidcfg File
   system_local=en_US
   install_locale=en_US
   timezone=US/Pacific
   network_interface=default{netmask=255.255.255.0}
   name_service=NONE
   timeserver=localhost
The rules File
 Selects   machines based on a variety of criteria
   Architecture              Memory     size
   NIS   domain name         Hardware model

   Disk size                 Network

   Hostname                  Total disk space

   Installed version of      Logical AND/NOT of
   Solaris                    any criteria
   Kernel architecture
rules File Syntax
   <rule> <begin sh script> <profile> <finish sh script>
     Example:
      any - defprofile -
       Matches     from the top of the rules file down
           Takes   first match
       Seperated  by whitespace
       For no script use '-'
       A profile of '=' uses ${SI_PROFILE}
           Begin
                script can generate the profile and save it in $
            {SI_PROFILE}
Some Rule Matching Examples
    any
      Matches   any machine
    hostname foobar
      Matches   the host 'foobar'
    network 192.168.0.0 && karch sun4c
      Matches   any sun4c on the 192.168.0.0 network
    arch sparc && disksize c0t3d0 400-600 && installed
     c0t0d0s0 solaris_2.1 && !modal SUNW,SPARCclassic
      Matches   any sparc with a 400-600MB disk that has Solaris
       2.1 installed and isn't a SPARCclassic
Server & Install Profile
 Keywords
 Keyword        Valid Arguments
 install_type   initial_install, upgrade

 system_type    standalone, dataless, server

 num_clients    <# of clients> (5)

 client_swap    <Swap size> (24)

 client_arch    sun4c, sun4d, sun4m, sun4u,
                sun4u1, tadpole4m (2.6 only),
                sun4us (64-bit Solaris 7 only)
Disk Profile Keywords
 Keyword          Valid Arguments
 partitioning     default, existing, explicit
 usedisk          <disk device>
 dontuse          <disk device>
 filesys          <device> <size> <fs> <opt params>
     device       any, cntndnsn, rootdisk.sn,
                  server:path
     size
                  size, existing, auto, all, free,
                  start:size, ip_address, -
                  (dataless,NFS)
     fs
                  mount_point, swap (optional)
     opt params
                  preserve, nosuid, quota, etc...
Package Profile Keywords
  Keyword             Valid Arguments
  cluster             cluster add, delete

  package             package add, delete

 Example:
  cluster SUNWCreq add
  package SUNWsregu delete
 Listof clusters and packages located on the
  Solaris media in Solaris_2.x/Product/
     .clustertoc
     .packagetoc
Main Cluster Groups
  SUNWCreq
   Bare   minimum
  SUNWCuser
   Typical   user, OpenWindows
  SUNWCprog
   Programming    tools
  SUNWCall
   All   Sun Microsystems packages
  SUNWCXall
   OEM     packages
Sample Host Profile
   install_type initial_install
   system_type standalone
   partitioning explicit
   filesys rootdisk.s0 100 /
   filesys rootdisk.s1 512 swap
   filesys rootdisk.s3 2000 /ftp
   filesys rootdisk.s4 1000 /opt
   filesys rootdisk.s5 1000 /var
   filesys rootdisk.s6 700 /usr
   filesys rootdisk.s7 free /staff
   cluster SUNWCprog add    # Developer base
   package SUNWxwdxm add    # DPS Motif libraries
   cluster SUNWCkcms delete # Color management bloat
   package SUNWsregu delete # User registration annoyance
   cluster SUNWCsea delete # Evil SNMP stuff
   package SUNWsutl add     # Static utils
   cluster SUNWCacc add     # Accounting
   package SUNWsadml add    # Required by Solastice Disk Suite
   cluster SUNWCjv   delete # We don't need no steenking Java
   cluster SUNWCnis delete # We don't run NIS
   cluster SUNWCpcmc delete # We have no PCMCIA ports
rules File Example
   hostname foobar              -        prof/foobar   set_root_pw
   any                          -        prof/any      -

     To   install the rules file
       ./check
              Creates rules.ok
              Finds syntax errors
              Ensures referenced files exist
       If   this is successful, try an install
Begin & Finish Scripts
 Environment          variables of note
     ${SI_CONFIG_DIR}
       Points   to the directory with your config files
     ${SI_PROFILE}
       The profile that's being used to configure this machine
       Good for advanced begin script
       The default is /tmp/install.input
           Subject   to change without notice
   The  root directory for the machine being installed is
      mounted on /a.
Sample Begin Script
   #!/bin/sh
   echo "install_type   initial_install"    > ${SI_PROFILE}
   echo "system_type    standalone"         >> ${SI_PROFILE}
   echo "partitioning   default"            >> ${SI_PROFILE}
   echo "cluster        SUNWCprog add"      >> ${SI_PROFILE}
   echo "package        SUNWman   delete"   >> ${SI_PROFILE}
   echo "package        SUNWolman delete"   >> ${SI_PROFILE}
   echo "package        SUNWxwman delete"   >> ${SI_PROFILE}
Sample Finish Script
   #!/bin/sh
   BASE=/a
   MNT=/a/mnt
   ADMIN_FILE=/a/tmp/admin
   mkdir ${MNT}
   mount -f nfs sherlock:/export/package ${MNT}
   cat >${ADMIN_FILE} <<DONT_ASK
   mail=root
   instance=overwrite
   partial=nocheck
   runlevel=nocheck
   idepend=nocheck
   rdepend=nocheck
   space=ask
   setuid=nocheck
   conflict=nocheck
   action=nocheck
   basedir=default
   DONT_ASK
   /usr/sbin/pkgadd -a ${ADMIN_FILE} -d ${MNT} -R ${BASE} SUNWxyz
   umount ${MNT}
   rmdir ${MNT}
Documentation
  Man   pages
    sysidcfg(4)
    sysidtool(1M)
    install_scripts(1M)
    bootparams(4)
  Solaris Advanced Installation Guide at docs.sun.com
   in the Solaris 2.6 System Administration Collection I
   and the Solaris 7 Installation Collection
  Automating Solaris Installations: A Custom Jumpstart
   Guide by Paul Anthony Kasper and Alan L.
   McClellan, published by Prentice Hall

More Related Content

DOC
Installation of Subversion on Ubuntu,...
PDF
Oracle11g On Fedora14
PDF
DOCX
Ansible ex407 and EX 294
PDF
Red Hat Certified Engineer (RHCE) EX294 Exam Questions
PPSX
Linux configer
DOCX
Component pack 6006 install guide
PPTX
Hadoop single cluster installation
Installation of Subversion on Ubuntu,...
Oracle11g On Fedora14
Ansible ex407 and EX 294
Red Hat Certified Engineer (RHCE) EX294 Exam Questions
Linux configer
Component pack 6006 install guide
Hadoop single cluster installation

What's hot (20)

PDF
Install and Configure Ubuntu for Hadoop Installation for beginners
ODT
RHCE FINAL Questions and Answers
PDF
Introduction to Stacki at Atlanta Meetup February 2016
PDF
Snort296x centos6x 2
DOC
gcis-zenworks7.2
PDF
CoreOS: Control Your Fleet
PDF
Single node hadoop cluster installation
PPTX
RHCE Training
PPT
Astricon 2013: "Asterisk and Database"
DOCX
ODP
Slug 2009 06 SELinux For Sysadmins
PPT
Running hadoop on ubuntu linux
PDF
Puppet: Eclipsecon ALM 2013
PDF
Hadoop 2.0 cluster setup on ubuntu 14.04 (64 bit)
PPTX
High Availability Server with DRBD in linux
PPT
Its3 Drupal
PPTX
Hadoop single node setup
PDF
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
PDF
Refcard en-a4
Install and Configure Ubuntu for Hadoop Installation for beginners
RHCE FINAL Questions and Answers
Introduction to Stacki at Atlanta Meetup February 2016
Snort296x centos6x 2
gcis-zenworks7.2
CoreOS: Control Your Fleet
Single node hadoop cluster installation
RHCE Training
Astricon 2013: "Asterisk and Database"
Slug 2009 06 SELinux For Sysadmins
Running hadoop on ubuntu linux
Puppet: Eclipsecon ALM 2013
Hadoop 2.0 cluster setup on ubuntu 14.04 (64 bit)
High Availability Server with DRBD in linux
Its3 Drupal
Hadoop single node setup
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Refcard en-a4
Ad

Similar to Introduction to JumpStart (20)

PPTX
Workstations-02.pptx
PDF
Unix commands in etl testing
PDF
Unixcommandsinetltesting 130712050932-phpapp01
DOC
Unix - Sun Solaris Admin Classroom Training
PDF
Solaris 10 System Administration Essentials Engineers Solaris Systemcreator
PDF
unixtoolbox
PDF
KCC_Final.pdf
PDF
Jana treek 4
PDF
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
PDF
Linux Common Command
PDF
eurobsd2013
PDF
2345014 unix-linux-bsd-cheat-sheets-i
PDF
CodeFest 2013. Mosesohn M. — Automating environments with Cobbler
PPT
Intro to linux systems administration
PDF
Solaris 10 Security Essentials Press Sun Microsystemscreator
PPT
Deploying datacenters with Puppet - PuppetCamp Europe 2010
PDF
linux installation.pdf
ODP
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
PDF
Asiabsdcon2013
PPT
Network administrationcode Lecture 1.ppt
Workstations-02.pptx
Unix commands in etl testing
Unixcommandsinetltesting 130712050932-phpapp01
Unix - Sun Solaris Admin Classroom Training
Solaris 10 System Administration Essentials Engineers Solaris Systemcreator
unixtoolbox
KCC_Final.pdf
Jana treek 4
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
Linux Common Command
eurobsd2013
2345014 unix-linux-bsd-cheat-sheets-i
CodeFest 2013. Mosesohn M. — Automating environments with Cobbler
Intro to linux systems administration
Solaris 10 Security Essentials Press Sun Microsystemscreator
Deploying datacenters with Puppet - PuppetCamp Europe 2010
linux installation.pdf
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Asiabsdcon2013
Network administrationcode Lecture 1.ppt
Ad

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
sap open course for s4hana steps from ECC to s4
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Introduction to JumpStart

  • 1. Introduction to Solaris JumpStart By Scott McDermott scottm@octaldream.com http://www.octaldream.com/scottm/talks/jsintro
  • 2. What is JumpStart?  JumpStart is the installation facility for Solaris 2  Allows unattended installation based on the application of various rules and scripts.  What can JumpStart do for me?  Simplify Installs  Faster than CD installation  Allows unattended installation  Similar machines need only one configuration rule
  • 3. Network Boot Process  Boot client from the network  go> boot net - install  New machines will net boot at power on
  • 4. Client & Boot Server Interaction  Client performs RARP request  Server in.rarpd responds with client's IP address IP is determined via /etc/ethers and /etc/hosts  Client uses TFTP to download a client stub  Client requests boot parameters  The server's rpc.bootparamd responds Uses /etc/bootparams  Boot parameters consist of NFS mount points  Client mounts filesystem, boots, runs install scripts
  • 5. Configuring a JumpStart Server  From the Solaris media in Solaris_2.6/Tools  ./setup_install_server <install hierarchy>  Usethe -b switch to do installs from the CD  Export the installation hierarchy via NFS  From the Solaris media in Solaris_2.6/Misc/jumpstart_sample  Copy files to your configurarion hierarchy  ie. cp -r * /export/install/js
  • 6. Adding a JumpStart Client  Add clients using the add_install_client script  ./add_install_client -e 08:00:20:23:74:95 -i 192.168.0.1 -s install:/export/install/Solaris -c install:/export/install/js -p install:/export/install/js foobar sun4u  -e MAC address  -i IP Address  -s Server & path for Solaris media  -c Server & path for configuration files  -p Server & path to the sysidcfg file Host must be in /etc/hosts
  • 7. The sysidcfg File  Provides automatic system identification  Name server  Network interface  Hostname  root password  Language (locale)  Terminal type  Timezone  Timeserver (not NTP!)
  • 8. Syntax of the sysidcfg File Keyword Valid Arguments name_service nis, nis+, other, NONE {domain_name=<domain> name_server=<name server IP>} network_interface none, default(2.6), primary(2.7) system_locale Standard locale names install_locale Standard local names timezone Standard timezones timeserver <timeserver hostname or IP>
  • 9. Example sysidcfg File  system_local=en_US  install_locale=en_US  timezone=US/Pacific  network_interface=default{netmask=255.255.255.0}  name_service=NONE  timeserver=localhost
  • 10. The rules File  Selects machines based on a variety of criteria Architecture Memory size NIS domain name Hardware model Disk size Network Hostname Total disk space Installed version of Logical AND/NOT of Solaris any criteria Kernel architecture
  • 11. rules File Syntax  <rule> <begin sh script> <profile> <finish sh script>  Example: any - defprofile - Matches from the top of the rules file down  Takes first match Seperated by whitespace For no script use '-' A profile of '=' uses ${SI_PROFILE}  Begin script can generate the profile and save it in $ {SI_PROFILE}
  • 12. Some Rule Matching Examples  any Matches any machine  hostname foobar Matches the host 'foobar'  network 192.168.0.0 && karch sun4c Matches any sun4c on the 192.168.0.0 network  arch sparc && disksize c0t3d0 400-600 && installed c0t0d0s0 solaris_2.1 && !modal SUNW,SPARCclassic Matches any sparc with a 400-600MB disk that has Solaris 2.1 installed and isn't a SPARCclassic
  • 13. Server & Install Profile Keywords Keyword Valid Arguments install_type initial_install, upgrade system_type standalone, dataless, server num_clients <# of clients> (5) client_swap <Swap size> (24) client_arch sun4c, sun4d, sun4m, sun4u, sun4u1, tadpole4m (2.6 only), sun4us (64-bit Solaris 7 only)
  • 14. Disk Profile Keywords Keyword Valid Arguments partitioning default, existing, explicit usedisk <disk device> dontuse <disk device> filesys <device> <size> <fs> <opt params> device any, cntndnsn, rootdisk.sn, server:path size size, existing, auto, all, free, start:size, ip_address, - (dataless,NFS) fs mount_point, swap (optional) opt params preserve, nosuid, quota, etc...
  • 15. Package Profile Keywords Keyword Valid Arguments cluster cluster add, delete package package add, delete  Example: cluster SUNWCreq add package SUNWsregu delete  Listof clusters and packages located on the Solaris media in Solaris_2.x/Product/  .clustertoc  .packagetoc
  • 16. Main Cluster Groups  SUNWCreq Bare minimum  SUNWCuser Typical user, OpenWindows  SUNWCprog Programming tools  SUNWCall All Sun Microsystems packages  SUNWCXall OEM packages
  • 17. Sample Host Profile  install_type initial_install  system_type standalone  partitioning explicit  filesys rootdisk.s0 100 /  filesys rootdisk.s1 512 swap  filesys rootdisk.s3 2000 /ftp  filesys rootdisk.s4 1000 /opt  filesys rootdisk.s5 1000 /var  filesys rootdisk.s6 700 /usr  filesys rootdisk.s7 free /staff  cluster SUNWCprog add # Developer base  package SUNWxwdxm add # DPS Motif libraries  cluster SUNWCkcms delete # Color management bloat  package SUNWsregu delete # User registration annoyance  cluster SUNWCsea delete # Evil SNMP stuff  package SUNWsutl add # Static utils  cluster SUNWCacc add # Accounting  package SUNWsadml add # Required by Solastice Disk Suite  cluster SUNWCjv delete # We don't need no steenking Java  cluster SUNWCnis delete # We don't run NIS  cluster SUNWCpcmc delete # We have no PCMCIA ports
  • 18. rules File Example  hostname foobar - prof/foobar set_root_pw  any - prof/any -  To install the rules file ./check  Creates rules.ok  Finds syntax errors  Ensures referenced files exist If this is successful, try an install
  • 19. Begin & Finish Scripts  Environment variables of note  ${SI_CONFIG_DIR} Points to the directory with your config files  ${SI_PROFILE} The profile that's being used to configure this machine Good for advanced begin script The default is /tmp/install.input  Subject to change without notice  The root directory for the machine being installed is mounted on /a.
  • 20. Sample Begin Script  #!/bin/sh  echo "install_type initial_install" > ${SI_PROFILE}  echo "system_type standalone" >> ${SI_PROFILE}  echo "partitioning default" >> ${SI_PROFILE}  echo "cluster SUNWCprog add" >> ${SI_PROFILE}  echo "package SUNWman delete" >> ${SI_PROFILE}  echo "package SUNWolman delete" >> ${SI_PROFILE}  echo "package SUNWxwman delete" >> ${SI_PROFILE}
  • 21. Sample Finish Script  #!/bin/sh  BASE=/a  MNT=/a/mnt  ADMIN_FILE=/a/tmp/admin  mkdir ${MNT}  mount -f nfs sherlock:/export/package ${MNT}  cat >${ADMIN_FILE} <<DONT_ASK  mail=root  instance=overwrite  partial=nocheck  runlevel=nocheck  idepend=nocheck  rdepend=nocheck  space=ask  setuid=nocheck  conflict=nocheck  action=nocheck  basedir=default  DONT_ASK  /usr/sbin/pkgadd -a ${ADMIN_FILE} -d ${MNT} -R ${BASE} SUNWxyz  umount ${MNT}  rmdir ${MNT}
  • 22. Documentation  Man pages sysidcfg(4) sysidtool(1M) install_scripts(1M) bootparams(4)  Solaris Advanced Installation Guide at docs.sun.com in the Solaris 2.6 System Administration Collection I and the Solaris 7 Installation Collection  Automating Solaris Installations: A Custom Jumpstart Guide by Paul Anthony Kasper and Alan L. McClellan, published by Prentice Hall