PXE JumpStart

From Brandonhutchinson.com

Revision as of 21:41, 21 January 2008 by Hutch (Talk | contribs)
Jump to: navigation, search



In this example, I use a Solaris 10 SPARC JumpStart server to build a Sun Fire X4600 client. I assume the following:

  • The JumpStart server is already configured (e.g., TFTP is running)
  • The Solaris 10 x86 media has been copied to the JumpStart server
  • The profile/class file and system identification file (i.e. sysidcfg) for the JumpStart client are already configured

This example uses the following values:

  • Boot server: mrdmmns001
  • Install server: mrdmmns001:/export/install/OS/Solaris_10_2006-11_ia
  • Configuration server: mrpmmns001:/export/install
  • Path to sysidcfg: mrpmmns001:/export/install/Sysidcfg/Solaris_10/mrds
  • Client MAC address: 0:14:4f:78:b7:14
  • Client IP address:
  • Client hostname: mrpmmap011
  • DHCP server: mrdmmns001 (same as the JumpStart server)
  • DHCP network:

Install DHCP Server

A DHCP server is required for PXE JumpStart. To install the Solaris DHCP server, install the following packages on the JumpStart server:

  • SUNWdhcsr BOOTP/DHCP Server Services, (Root)
  • SUNWdhcsu BOOTP/DHCP Server Services, (Usr)
  • SUNWdhcm DHCP Manager

Configure DHCP Server

  • Configure the DHCP server to store files in ASCII format in /var/dhcp.
# dhcpconfig -D -r SUNWfiles -p /var/dhcp
Created DHCP configuration file.
Created dhcptab.
Added "Locale" macro to dhcptab.
Added server macro to dhcptab - mrdmmns001.
DHCP server started.
  • Configure the DHCP server to serve the appropriate network(s).
# pntadm -C
  • Add the PXE client macros for i86pc clients to the DHCP configuration.
# dhtadm -A -s SrootOpt -d 'Vendor=SUNW.i86pc,1,ASCII,1,0'
# dhtadm -A -s SrootIP4 -d 'Vendor=SUNW.i86pc,2,IP,1,1'
# dhtadm -A -s SrootNM -d 'Vendor=SUNW.i86pc,3,ASCII,1,0'
# dhtadm -A -s SrootPTH -d 'Vendor=SUNW.i86pc,4,ASCII,1,0'
# dhtadm -A -s SswapIP4 -d 'Vendor=SUNW.i86pc,5,IP,1,0'
# dhtadm -A -s SswapPTH -d 'Vendor=SUNW.i86pc,6,ASCII,1,0'
# dhtadm -A -s SbootFIL -d 'Vendor=SUNW.i86pc,7,ASCII,1,0'
# dhtadm -A -s Stz -d 'Vendor=SUNW.i86pc,8,ASCII,1,0'
# dhtadm -A -s SbootRS -d 'Vendor=SUNW.i86pc,9,NUMBER,2,1'
# dhtadm -A -s SinstIP4 -d 'Vendor=SUNW.i86pc,10,IP,1,1'
# dhtadm -A -s SinstNM -d 'Vendor=SUNW.i86pc,11,ASCII,1,0'
# dhtadm -A -s SinstPTH -d 'Vendor=SUNW.i86pc,12,ASCII,1,0'
# dhtadm -A -s SsysidCF -d 'Vendor=SUNW.i86pc,13,ASCII,1,0'
# dhtadm -A -s SjumpsCF -d 'Vendor=SUNW.i86pc,14,ASCII,1,0'
# dhtadm -A -s Sterm -d 'Vendor=SUNW.i86pc,15,ASCII,1,0'
# dhtadm -A -s SbootURI -d 'Vendor=SUNW.i86pc,16,ASCII,1,0'

Configure DHCP Client

  • Configure the DHCP client mrpmmap011 with MAC address 0:14:4f:46:24:b6 to be permanently assigned by the DHCP server.
# pntadm -A -c mrpmmap011 -f PERMANENT -i 0100144F4624B6 -m


-A IP address of client
-c hostname of client
-i MAC address (precede with 01, must use capital letters)
-m macro ( and subnet (

Remaining Steps

  • Prepare the JumpStart server for i86pc clients/PXE boot.
# ./add_install_client -d SUNW.i86pc i86pc
If not already configured, enable PXE boot by creating
a macro named PXEClient:Arch:00000:UNDI:002001 with:
  Boot server IP (BootSrvA) :
  Boot file      (BootFile) : SUNW.i86pc
  • Create a PXEClient:Arch:00000:UNDI:002001 macro in the DHCP server. This macro is sent "automagically" by the PXE BIOS. Its settings tell the PXE BIOS which boot server and boot file to use.
# dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d ':BootFile="SUNW.i86pc":BootSrvA='
  • Run "add_install_client" for the JumpStart client.
# ./add_install_client -d -e 0:14:4f:46:24:b6 -s mrdmmns001:/export/install/OS/Solaris_10_2006-11_ia \
> -b "console=ttya" -c mrdmmns001:/export/install -p mrdmmns001:/export/install/Sysidcfg/Solaris_10/mrds i86pc

If not already configured, enable PXE boot by creating
a macro named 0100144F4624B6 with:
  Boot server IP (BootSrvA) :
  Boot file      (BootFile) : 0100144F4624B6

Important note: The "console=ttya" boot option was needed for this x4600 PXE JumpStart.

  • Create a 0100144F4624B6 macro in the DHCP server. This macro allows the JumpStart client to use the values specified by "add_install_client" above (see /tftpboot/menu.lst.0100144F4624B6).
# dhtadm -A -m 0100144F4624B6 -d ':BootFile="0100144F4624B6":BootSrvA='
  • Refresh the dhcp-server service. The above DHCP server changes will not take effect until this service is refreshed.
# svcadm refresh dhcp-server
  • Login to the JumpStart client console and boot the system. Press Ctrl-N (F12 may not work) during the boot process to perform a PXE boot. The GRUB boot menu should only list one option, Solaris_10 Jumpstart. After the system begins booting, select Custom JumpStart.
   1.     Solaris Interactive (default)
   2.     Custom JumpStart
   3.     Solaris Interactive Text (Desktop session)
   4.     Solaris Interactive Text (Console session)
   5.     Apply driver updates
   6.     Single user shell

Enter the number of your choice.
Selected: 2


Personal tools