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 dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm dhtadm
-A -A -A -A -A -A -A -A -A -A -A -A -A -A -A
-s -s -s -s -s -s -s -s -s -s -s -s -s -s -s
SrootOpt -d 'Vendor=SUNW.i86pc,1,ASCII,1,0' SrootIP4 -d 'Vendor=SUNW.i86pc,2,IP,1,1' SrootNM -d 'Vendor=SUNW.i86pc,3,ASCII,1,0' SrootPTH -d 'Vendor=SUNW.i86pc,4,ASCII,1,0' SswapIP4 -d 'Vendor=SUNW.i86pc,5,IP,1,0' SswapPTH -d 'Vendor=SUNW.i86pc,6,ASCII,1,0' SbootFIL -d 'Vendor=SUNW.i86pc,7,ASCII,1,0' Stz -d 'Vendor=SUNW.i86pc,8,ASCII,1,0' SbootRS -d 'Vendor=SUNW.i86pc,9,NUMBER,2,1' SinstIP4 -d 'Vendor=SUNW.i86pc,10,IP,1,1' SinstNM -d 'Vendor=SUNW.i86pc,11,ASCII,1,0' SinstPTH -d 'Vendor=SUNW.i86pc,12,ASCII,1,0' SsysidCF -d 'Vendor=SUNW.i86pc,13,ASCII,1,0' SjumpsCF -d 'Vendor=SUNW.i86pc,14,ASCII,1,0' 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 -c -f -i -m
IP address of client hostname of client PERMANENT (static) or DYNAMIC IP MAC address (precede with 01, must use capital letters) 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. 2. 3.
Solaris Interactive (default) Custom JumpStart Solaris Interactive Text (Desktop session)
4. 5. 6.
Solaris Interactive Text (Console session) Apply driver updates Single user shell
Enter the number of your choice. Selected: 2
Source: http://brandonhutchinson.com/wiki/PXE_JumpStart