You are on page 1of 5

PXE JumpStart

Overview
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: 10.205.0.58
 Client hostname: mrpmmap011
 DHCP server: mrdmmns001 (same as the JumpStart server)
 DHCP network: 10.205.0.0

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
 SUNWj5rt JDK 1.5 runtime environment (prerequisite for SUNWdhcsu and SUNWdhcm;
needed to run dhcpconfig)
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 10.205.0.0

Note: If you are using CIDR, make sure that you are able to resolve the netmask (i.e., getent
netmasks 10.205.0.0 returns the correct netmask). Otherwise, pntadm will create DHCP table
files for a classful network (i.e., 10.0.0.0/8), which will cause problems.

 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 10.205.0.62 by the DHCP server.

# pntadm -A 10.205.0.58 -c mrpmmap011 -f PERMANENT -i


0100144F4624B6 -m 10.205.0.0 10.205.0.0

Key:

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

Remaining Steps
 Prepare the JumpStart server for i86pc clients/PXE boot.

# cd /export/install/OS/Solaris_10_2006-11_ia/Solaris_10/Tools
# ./add_install_client -d SUNW.i86pc i86pc
copying boot file to /tftpboot/pxegrub.I86PC.Solaris_10-1

If not already configured, enable PXE boot by creating


a macro named PXEClient:Arch:00000:UNDI:002001 with:
Boot server IP (BootSrvA) : 10.205.0.30
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=10.205.0.30:'

 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) : 10.205.0.30
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=10.205.0.30:'

 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

Source: http://brandonhutchinson.com/wiki/PXE_JumpStart

You might also like