PXELINUX with a Solaris boot server

From Brandonhutchinson.com

Revision as of 20:49, 6 February 2008 by Hutch (Talk | contribs)
Jump to: navigation, search

In this example:

  • RHEL 3 AS i386 will be installed on a Sun Fire X2100 M2 using PXE Boot/Kickstart.
  • The PXE Boot server/DHCP server/TFTP server is running Solaris 10 SPARC.
  • The Solaris DHCP server is configured for the network.
  • The client MAC address is 001B2493A27C.
  • The client hostname is mrdcmap012.
  • The client hostname exists in DNS with IP
  • The Kickstart file is located on a separate server-- is accessible via http.


  • Create a directory on the TFTP server for the PXE boot.
# mkdir /tftpboot/3AS-i386
  • Copy vmlinuz and initrd.img from disc 1 of the RHEL 3 AS i386 media images/pxeboot directory to the TFTP server.
# cp disc1/images/pxeboot/vmlinuz disc1/images/pxeboot/initrd.img /tftpboot/3AS-i386
  • Copy pxelinux.0 to the TFTP server. On my Ubuntu system, I installed the syslinux package and copied /usr/lib/syslinux/pxelinux.0 to the TFTP server.
# cp pxelinux.0 /tftpboot
  • Create a configuration directory for PXELINUX on the boot server.
# mkdir /tftpboot/pxelinux.cfg
  • Configure permissions for PXELINUX.
# chmod -R 755 /tftpboot/3AS-i386 /tftpboot/pxelinux.0
  • Add a Linux DHCP macro on the boot server.
# dhtadm -A -m Linux -d ':BootFile="pxelinux.0":BootSrvA=IP_of_Solaris_boot_server:'
  • Configure the client to use the Linux DHCP macro.
# pntadm -A client_hostname -i 01001B2493A27C -m Linux -f PERMANENT
  • Refresh the DHCP server for the pntadm change to take effect.
# svcadm refresh dhcp-server
  • Create a PXELINUX configuration file named 01-00-1b-24-93-a2-7c in /tftpboot/pxelinux.cfg. For this example, I used the following values:
label linux
kernel 3AS-i386/vmlinuz
append ksdevice=eth2 ip= netmask= gateway=
ks= console=ttyS1,115200 load_ramdisk=1

Note that the line beginning with append is one long line.

With a MAC address of 001B2493A27C, PXELINUX will attempt to identify files in /tftpboot/pxelinux.cfg in the following order:

Trying to load: pxelinux.cfg/01-00-1b-24-93-a2-7c                               
Trying to load: pxelinux.cfg/0AD18027                                           
Trying to load: pxelinux.cfg/0AD1802                                            
Trying to load: pxelinux.cfg/0AD180                                             
Trying to load: pxelinux.cfg/0AD18                                              
Trying to load: pxelinux.cfg/0AD1                                               
Trying to load: pxelinux.cfg/0AD                                                
Trying to load: pxelinux.cfg/0A                                                 
Trying to load: pxelinux.cfg/0                                                  
Trying to load: pxelinux.cfg/default                                            


Personal tools